Create pseudo-idle wakeups TBMv2 metric. |
||||||
Issue descriptionLet's just order all non-async task, and define a pseudo-idle wakeup to be a task that has no preceding tasks in the last 0.5 ms. This should make it easier for us to measure issues like: https://bugs.chromium.org/p/chromium/issues/detail?id=673021 or https://bugs.chromium.org/p/chromium/issues/detail?id=650433 nednguyen, benjhayden: Thoughts?
,
Dec 16 2016
+Shubhie, as I think figuring out an idle wakeups measure web perf API is somewhere on her backlog. +Sami to comment from a scheduling perspective. This seems like a reasonable idea to me. How would we aggregate this data? Is it just number of wakeups per pageview? Ideally we'd come up with something here that could be extended to UMA, where the aggregation problem is a bit trickier.
,
Dec 16 2016
Before jumping on the heuristic direction, is there any system API that we can user to query the number of idle-wakeups?
,
Dec 16 2016
The Mac CPU monitor includes an idle wakeups column, I wonder what they use... Intel also has a tool for measuring idle wakeups.
,
Dec 16 2016
We already have it hooked up to telemetry, just not into TBMv2/tracing: https://cs.chromium.org/chromium/src/tools/perf/metrics/power.py?q=package:%5E(chromium)$+file:(/%7C%5E)metrics/power(%5C.(swig%7Cpy%7Cspt)$%7C/(__init__%5C.(swig%7Cpy%7Cspt))?$)&l=172
,
Dec 16 2016
it seems like it would be difficult to hook into tracing, but if someone wants to investigate, please feel free! :)
,
Dec 16 2016
+Fadi for tracking idle wakeup data in Chrome tracing directly. If we can gather this data from Chrome side, I think it would also benefit UMA/Deep report, so I think it worths investigating.
,
Dec 16 2016
Windows logic: https://cs.chromium.org/chromium/src/tools/win/IdleWakeups/idle_wakeups.cpp?q=idle_wakeups&sq=package:chromium&l=1 Mac & Linux: https://cs.chromium.org/chromium/src/base/process/process_metrics.cc?rcl=1481890797&l=65 I haven't seen anything Android related though.
,
Dec 16 2016
+brucedawson
,
Dec 16 2016
The overhead of gathering idle wakeups on Windows is fairly low, but not zero. I think it would be worth enabling it some of the time or for some users, but I'd be nervous about enabling it for everyone all the time. We could lower the sampling rate significantly - maybe grab statistics once a minute - in which case the overhead is probably so small that it is irrelevant. This would cause us to miss idle wakeups from any threads or processes that disappeared in the interim so it would necessarily undercount somewhat.
,
Dec 19 2016
#8: Looks like we should be able to use the Linux code to read this on Android too. #10: Logging these stats to UMA once a minute sounds like a good idea. We should be able to see some movement there once we start throttling/coalescing wakeups. Does anyone know whether we can access these APIs from the renderer sandbox? If not, the browser might need to collect the stats on behalf of everyone else.
,
Jan 16
,
Jan 16
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by nedngu...@google.com
, Dec 16 2016