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