|
|
DescriptionAdd UMA histograms for DirectComposition overlays.
These get information about how often overlays are available, how often
they're attempted to be used, and how often they're actually used.
BUG=678800
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Review-Url: https://codereview.chromium.org/2779643004
Cr-Commit-Position: refs/heads/master@{#460666}
Committed: https://chromium.googlesource.com/chromium/src/+/15a130ea6aa5ccdd20d9bfdc960576d689807ba2
Patch Set 1 #Patch Set 2 : rebase #
Total comments: 5
Patch Set 3 : use custom enum #Patch Set 4 : use UMA_HISTOGRAM_SPARSE_SLOWLY #
Messages
Total messages: 30 (20 generated)
Description was changed from ========== Add UMA histograms for DirectComposition overlays. These get information about how often overlays are available, how often they're attempted to be used, and how often they're actually used. BUG=678800 ========== to ========== Add UMA histograms for DirectComposition overlays. These get information about how often overlays are available, how often they're attempted to be used, and how often they're actually used. BUG=678800 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ==========
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
jbauman@chromium.org changed reviewers: + isherman@chromium.org
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_TIMED_OUT, build hasn't started yet, builder probably lacks capacity) win_optional_gpu_tests_rel on master.tryserver.chromium.win (JOB_TIMED_OUT, build hasn't started yet, builder probably lacks capacity)
https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... File gpu/ipc/service/direct_composition_surface_win.cc (right): https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... gpu/ipc/service/direct_composition_surface_win.cc:355: DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE + 1); This code looks fragile, in the sense that someone who updates the enum won't necessarily know to update this code. Please add either a COUNT or a MAX entry to the enum, and document that the enum is now being used to back an UMA histogram, and should therefore be treated as append-only. https://codereview.chromium.org/2779643004/diff/20001/tools/metrics/histogram... File tools/metrics/histograms/histograms.xml (right): https://codereview.chromium.org/2779643004/diff/20001/tools/metrics/histogram... tools/metrics/histograms/histograms.xml:21652: + How DWM presented Chrome's DirectComposition layers to the screen. nit: What is DWM? It might help to expand this acronym here. https://codereview.chromium.org/2779643004/diff/20001/tools/metrics/histogram... tools/metrics/histograms/histograms.xml:21657: + enum="BooleanSupported"> nit: Please use a custom enum here too (see below). https://codereview.chromium.org/2779643004/diff/20001/tools/metrics/histogram... tools/metrics/histograms/histograms.xml:21662: +<histogram name="GPU.DirectComposition.OverlaysUsed" enum="BooleanUsage"> nit: Please use a custom enum (just within this file), with labels like "Overlay" and "No overlay". https://codereview.chromium.org/2779643004/diff/20001/tools/metrics/histogram... tools/metrics/histograms/histograms.xml:88699: + <int value="3">Composition Failure</int> nit: If you ever add additional enum entries, these will end up awkwardly in the middle. For this reason, I'd recommend actually moving these two exceptional cases to the top of the enum.
On 2017/03/29 05:16:42, Ilya Sherman wrote: > https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... > File gpu/ipc/service/direct_composition_surface_win.cc (right): > > https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... > gpu/ipc/service/direct_composition_surface_win.cc:355: > DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE + 1); > This code looks fragile, in the sense that someone who updates the enum won't > necessarily know to update this code. Please add either a COUNT or a MAX entry > to the enum, and document that the enum is now being used to back an UMA > histogram, and should therefore be treated as append-only. > This is actually a win32 enum: https://msdn.microsoft.com/en-us/library/windows/desktop/dn384107(v=vs.85).aspx So it should be append-only anyway. I could add a new enum and add code to convert between the two, if you want.
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2017/03/29 18:58:10, jbauman wrote: > On 2017/03/29 05:16:42, Ilya Sherman wrote: > > > https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... > > File gpu/ipc/service/direct_composition_surface_win.cc (right): > > > > > https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... > > gpu/ipc/service/direct_composition_surface_win.cc:355: > > DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE + 1); > > This code looks fragile, in the sense that someone who updates the enum won't > > necessarily know to update this code. Please add either a COUNT or a MAX > entry > > to the enum, and document that the enum is now being used to back an UMA > > histogram, and should therefore be treated as append-only. > > > This is actually a win32 enum: > https://msdn.microsoft.com/en-us/library/windows/desktop/dn384107(v=vs.85).aspx > So it should be append-only anyway. I could add a new enum and add code to > convert between the two, if you want. Could you use UMA_HISTOGRAM_SPARSE_SLOWLY? If you do, you won't need to provide a max for the histogram. Otherwise, this code would break whenever Microsoft adds an enum entry, which means you'd definitely want to interpose an intermediate enum with an "OTHER" catch-all bucket.
The CQ bit was checked by jbauman@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
PTAL. On 2017/03/29 22:42:01, Ilya Sherman wrote: > On 2017/03/29 18:58:10, jbauman wrote: > > On 2017/03/29 05:16:42, Ilya Sherman wrote: > > > > > > https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... > > > File gpu/ipc/service/direct_composition_surface_win.cc (right): > > > > > > > > > https://codereview.chromium.org/2779643004/diff/20001/gpu/ipc/service/direct_... > > > gpu/ipc/service/direct_composition_surface_win.cc:355: > > > DXGI_FRAME_PRESENTATION_MODE_COMPOSITION_FAILURE + 1); > > > This code looks fragile, in the sense that someone who updates the enum > won't > > > necessarily know to update this code. Please add either a COUNT or a MAX > > entry > > > to the enum, and document that the enum is now being used to back an UMA > > > histogram, and should therefore be treated as append-only. > > > > > This is actually a win32 enum: > > > https://msdn.microsoft.com/en-us/library/windows/desktop/dn384107(v=vs.85).aspx > > So it should be append-only anyway. I could add a new enum and add code to > > convert between the two, if you want. > > Could you use UMA_HISTOGRAM_SPARSE_SLOWLY? If you do, you won't need to provide > a max for the histogram. Otherwise, this code would break whenever Microsoft > adds an enum entry, which means you'd definitely want to interpose an > intermediate enum with an "OTHER" catch-all bucket. Done.
Metrics LGTM, thanks.
jbauman@chromium.org changed reviewers: + sunnyps@chromium.org
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_TIMED_OUT, build hasn't started yet, builder probably lacks capacity)
The CQ bit was checked by jbauman@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 60001, "attempt_start_ts": 1490848843306740, "parent_rev": "0799d3367209d4185480b0408397eea79cd67fc8", "commit_rev": "15a130ea6aa5ccdd20d9bfdc960576d689807ba2"}
Message was sent while issue was closed.
Description was changed from ========== Add UMA histograms for DirectComposition overlays. These get information about how often overlays are available, how often they're attempted to be used, and how often they're actually used. BUG=678800 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel ========== to ========== Add UMA histograms for DirectComposition overlays. These get information about how often overlays are available, how often they're attempted to be used, and how often they're actually used. BUG=678800 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Review-Url: https://codereview.chromium.org/2779643004 Cr-Commit-Position: refs/heads/master@{#460666} Committed: https://chromium.googlesource.com/chromium/src/+/15a130ea6aa5ccdd20d9bfdc9605... ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as https://chromium.googlesource.com/chromium/src/+/15a130ea6aa5ccdd20d9bfdc9605... |