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_ |