Add UMA for number of wake-ups per second |
||||||
Issue descriptionWe should add UMA for the number of wake-ups we do per second, at least on the renderer main thread. We should also do some power measurements to ensure it is telling us something useful. This metric would allow us to better see the impact of changes which reduce polling (IntersectionObserver) as well as more aggressive task throttling interventions.
,
Feb 20 2017
,
Jun 23 2017
I seem to recall shrike@ is doing something here for telemetry - it might be worth syncing up.
,
Jun 27 2017
process_metrics.cc includes the method GetIdleWakeupsPerSecond(), so it seems like that info is accessible. right now.
,
Jun 28 2017
For the purpose of this task we are interested in calculating the number of wakeups from renderer scheduler data. This should be less noisy and more actionable than data coming from the OS (but we should make sure that these figures do correlate).
,
Jun 28 2017
I believe the OS data will also include every app rather than just Chrome. The downside of using renderer scheduler data is that it doesn't account for shared wakeups from other renderers, so it won't quite match ground truth. However since making that number smaller will generally make things better, I think it's a good proxy.
,
Jun 28 2017
By shared wakeups do you mean a wakeup that occurs while the CPU is already awake (because another thread has woken up it up)? process_metrics.cc only tracks idle wakes, not non-idle wakes. It's actually possible to get counts for both types of wakes on macOS but apparently that's not true on Windows.
,
Oct 4 2017
altimin@ are you actively working on this? If not, would you mind if I take it? I'm working on reducing wakeups on Mac and would find this stat useful to track progress.
,
Oct 4 2017
I'm quite happy to hand this off to you, I don't have any spare capacity to drive this in any foreseeable future. But I'm quite interested in your work, do you want to schedule a VC to discuss this?
,
Oct 5 2017
Sure thing, I'll email you off-bug
,
Oct 9 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d1fc0b47a4343bf8376a839b0d75a6ee1ccfe1fb commit d1fc0b47a4343bf8376a839b0d75a6ee1ccfe1fb Author: Leonard Grey <lgrey@chromium.org> Date: Mon Oct 09 17:01:01 2017 [Mac] Report total idle wakeups instead of just package exits. Currently, we report only a subset of idle wakeups in the task manager: "package idle exits" (essentially a wakeup of the IC that includes the processor, caches etc; see man powermetrics for details). This is a useful metric, but it isn't what's shown in Activity Monitor or used when calculating EXC_RESOURCE RESOURCE_TYPE_WAKEUPS exceptions (see crbug.com/684051). This changes |ProcessMetrics::GetIdleWakeupsPerSecond| to report total wakeups, but maintains the package idle exit calculation for reporting to UMA (will be in a follow-up CL). Bug: 649641 Change-Id: I6034f258a101b26a2fd6b4b72708a0682c63b19a Reviewed-on: https://chromium-review.googlesource.com/702049 Reviewed-by: Mark Mentovai <mark@chromium.org> Reviewed-by: Jayson Adams <shrike@chromium.org> Commit-Queue: Leonard Grey <lgrey@chromium.org> Cr-Commit-Position: refs/heads/master@{#507396} [modify] https://crrev.com/d1fc0b47a4343bf8376a839b0d75a6ee1ccfe1fb/base/process/process_metrics.cc [modify] https://crrev.com/d1fc0b47a4343bf8376a839b0d75a6ee1ccfe1fb/base/process/process_metrics.h [modify] https://crrev.com/d1fc0b47a4343bf8376a839b0d75a6ee1ccfe1fb/base/process/process_metrics_mac.cc
,
Oct 10 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dd079aa0d70170a362e6152a88d1a2741f8ad1cb commit dd079aa0d70170a362e6152a88d1a2741f8ad1cb Author: Leonard Grey <lgrey@chromium.org> Date: Tue Oct 10 22:14:16 2017 Collect idle wakeups per second via UMA Also collects the Mac-only "package idle exits" per second. Bug: 649641 Change-Id: I00b6e4b6eaab0833682b894b331fb446b6f68578 Reviewed-on: https://chromium-review.googlesource.com/707377 Reviewed-by: Alexei Svitkine <asvitkine@chromium.org> Reviewed-by: oysteine <oysteine@chromium.org> Commit-Queue: Leonard Grey <lgrey@chromium.org> Cr-Commit-Position: refs/heads/master@{#507790} [modify] https://crrev.com/dd079aa0d70170a362e6152a88d1a2741f8ad1cb/chrome/browser/performance_monitor/process_metrics_history.cc [modify] https://crrev.com/dd079aa0d70170a362e6152a88d1a2741f8ad1cb/chrome/browser/performance_monitor/process_metrics_history.h [modify] https://crrev.com/dd079aa0d70170a362e6152a88d1a2741f8ad1cb/tools/metrics/histograms/histograms.xml
,
Oct 30 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/41293d4e27e3103e94bccc7cd0168a23a9e5e14b commit 41293d4e27e3103e94bccc7cd0168a23a9e5e14b Author: Leonard Grey <lgrey@chromium.org> Date: Mon Oct 30 18:58:02 2017 Only report idle wakeups from supported platforms This hits a NOTIMPLEMENTED on Windows: https://bugs.chromium.org/p/chromium/issues/detail?id=726505#c10 Restricting it to the platforms that have an implementation in process_metrics.cc Bug: 649641 Change-Id: I02648ae4b09ac24fad6ec6894db91b5a82939f92 Reviewed-on: https://chromium-review.googlesource.com/734360 Commit-Queue: Leonard Grey <lgrey@chromium.org> Reviewed-by: oysteine <oysteine@chromium.org> Cr-Commit-Position: refs/heads/master@{#512563} [modify] https://crrev.com/41293d4e27e3103e94bccc7cd0168a23a9e5e14b/chrome/browser/performance_monitor/process_metrics_history.cc [modify] https://crrev.com/41293d4e27e3103e94bccc7cd0168a23a9e5e14b/chrome/browser/performance_monitor/process_metrics_history.h
,
May 8 2018
,
Aug 16
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by skyos...@chromium.org
, Sep 23 2016