Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(435)

Unified Diff: content/renderer/greenweb_latency_tracking.h

Issue 1835303002: Implementation of the GreenWeb language extensions. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Change GreenWeb-related CSS property names such that they apply in the desired order at runtime. Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/output/latency_info_swap_promise.cc ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/greenweb_latency_tracking.h
diff --git a/content/renderer/greenweb_latency_tracking.h b/content/renderer/greenweb_latency_tracking.h
new file mode 100644
index 0000000000000000000000000000000000000000..f4072b74af44c641688fc8326f9e9b9fa0893eb2
--- /dev/null
+++ b/content/renderer/greenweb_latency_tracking.h
@@ -0,0 +1,71 @@
+#ifndef GREENWEB_LATENCY_TRACKING_H_
+#define GREENWEB_LATENCY_TRACKING_H_
+
+#include <map>
+
+#include "base/time/time.h"
+
+#undef EBS_DEBUG_TRACE_EVENT
+#define EBS_DEBUG_SCHED
+#undef EBS_DEBUG_IPC
+#define EBS_DEBUG_OS
+
+#ifdef EBS_DEBUG_SCHED
+ #define dbg_sched_fprintf(...) do{ fprintf( __VA_ARGS__ ); } while( false )
+ #define dbg_sched_cout(x) do{ std::cout << x << std::endl; } while( false )
+#else
+ #define dbg_sched_fprintf(...) do{ } while ( false )
+ #define dbg_sched_cout(x) do{ } while( false )
+#endif
+
+#ifdef EBS_DEBUG_IPC
+ #define dbg_ipc_fprintf(...) do{ fprintf( __VA_ARGS__ ); } while( false )
+ #define dbg_ipc_cout(x) do{ std::cout << x << std::endl; } while( false )
+#else
+ #define dbg_ipc_fprintf(...) do{ } while ( false )
+ #define dbg_ipc_cout(x) do{ } while( false )
+#endif
+
+struct GreenWebLatencyComponent {
+ base::TimeTicks callback_start;
+ // main thread time = callback + layout or callback,
+ // depending on if HandleInputEventMainCommit is executed
+ int64 latency;
+ int64 dom_node;
+
+ std::map<int64, int64> FreqStatStartMap;
+
+ GreenWebLatencyComponent() : dom_node(0) {}
+};
+
+struct DOMLatencyMapComponent {
+ int64 latency;
+ std::map<int64, int64> FreqStatMap;
+};
+
+typedef std::map<int64, std::map<uint32, int64>> NodeFreqLatencyMap;
+typedef std::map<uint32, int64> FreqLatencyMap;
+
+// Map from LatencyInfo trace_id_ to GreenWebLatencyComponent
+extern std::map<int64, GreenWebLatencyComponent> InputLatencyMap;
+
+// Map from DOM Node address to latency (GreenWebLatencyComponent.latency)
+extern std::map<int64, DOMLatencyMapComponent> DOMLatencyMap;
+
+// trace_id_ of LatencyInfo
+extern int64 InputLatencyID;
+
+// QoS Type
+extern char g_qos_type;
+
+// QoS target
+extern int g_qos_target;
+
+// EBS enabled
+extern bool g_ebs_enabled;
+
+namespace content {
+ extern void process_freq_stat(std::map<int64, int64>*, std::map<int64, int64>*);
+}
+
+#endif // GREENWEB_LATENCY_TRACKING_H_
« no previous file with comments | « cc/output/latency_info_swap_promise.cc ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698