Support grouping of heterogeneous AsyncSlice tracks in TraceViewer |
||
Issue description
Currently TraceViewer is only able to group tracks of async slices into multi-row tracks if they're homogeneous. Such multi-row tracks comprise stacked async slices, but now we have use case when such stacked behavoiur is inappropriate.
We want to take WebFrameScheduler.* async slices and render it in their own individual (without stacking) tracks groupped under the expandable multi-row track representing a particular iframe.
Propssed structure:
Thread
|-> RendererScheduler.UseCase
|-> RendererScheduler.IsAudioPlaying
|-> ... other async slice tracks
|-> WebFrame:ptr:0xdeadbeef
|-> WebFrameScheduler.PageVisible
|-> ...
|-> WebFrameScheduler.CrossOrigin
,
Nov 10 2017
,
Jan 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/f4772a56b377709836f32ccbcda3822a6c78f38c commit f4772a56b377709836f32ccbcda3822a6c78f38c Author: Greg Kraynov <kraynov@chromium.org> Date: Fri Jan 05 10:24:30 2018 AsyncSliceGroup nested group support. Currently AsyncSliceGroup can only group slices by title without support for nested groups. However, we need to group async slices into higher-level groups e.g. group WebFrameScheduler slices by title and then group these groups by web frame id. This CL introduces that support on the model layer and further CLs will do the UI. Bug: chromium:780473 Change-Id: I4ca3574797fea2b7ae33e0e8ece61f21e9b378dd Reviewed-on: https://chromium-review.googlesource.com/749362 Reviewed-by: Ben Hayden <benjhayden@chromium.org> Commit-Queue: Greg Kraynov <kraynov@chromium.org> [modify] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/trace_viewer.gypi [modify] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/tracing/model/async_slice_group_test.html [modify] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/tracing/ui/tracks/thread_track.html [modify] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/tracing/model/async_slice.html [modify] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/tracing/model/helpers/chrome_renderer_helper.html [modify] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/tracing/model/async_slice_group.html [add] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/tracing/extras/chrome/blink/blink_scheduler_async_slice.html [modify] https://crrev.com/f4772a56b377709836f32ccbcda3822a6c78f38c/tracing/tracing/extras/chrome_config.html
,
Feb 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/d38379370433d04a7f1dd4641fdefb16c4e4d975 commit d38379370433d04a7f1dd4641fdefb16c4e4d975 Author: Greg Kraynov <kraynov@chromium.org> Date: Mon Feb 12 11:54:58 2018 Change fitting algorithm in AsyncSliceGroupTrack. New algorithm is simplier and written in the compatible way with track grouping support to be introduced in the next CL. See tracking bug for motivation details. Bug: chromium:780473 Change-Id: Id659426881a225d7a6e2590c3603dd63ec293bca Reviewed-on: https://chromium-review.googlesource.com/906989 Reviewed-by: Ben Hayden <benjhayden@chromium.org> Commit-Queue: Greg Kraynov <kraynov@chromium.org> [modify] https://crrev.com/d38379370433d04a7f1dd4641fdefb16c4e4d975/tracing/tracing/ui/tracks/async_slice_group_track_test.html [modify] https://crrev.com/d38379370433d04a7f1dd4641fdefb16c4e4d975/tracing/tracing/ui/tracks/interaction_track.html [modify] https://crrev.com/d38379370433d04a7f1dd4641fdefb16c4e4d975/tracing/tracing/ui/tracks/async_slice_group_track.html
,
Feb 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/05ca651ee93c6a2661a20924bd1c0a094e696cf9 commit 05ca651ee93c6a2661a20924bd1c0a094e696cf9 Author: Greg Kraynov <kraynov@chromium.org> Date: Fri Feb 23 13:50:23 2018 Group rendering in AsyncSliceGroupTrack. Allow AsyncSliceGroupTrack to hold heterogeneous rows and show their titles. Two nested levels are already supported in AsyncSliceGroup and particularly useful for per-web-frame slices in Blink Scheduler. See tracking bug for motivation details. Bug: chromium:780473 Change-Id: I7799fc1260d7e0783dd0ab57794d75d7334365c1 Reviewed-on: https://chromium-review.googlesource.com/897424 Commit-Queue: Greg Kraynov <kraynov@chromium.org> Reviewed-by: Ben Hayden <benjhayden@chromium.org> [modify] https://crrev.com/05ca651ee93c6a2661a20924bd1c0a094e696cf9/tracing/tracing/ui/tracks/async_slice_group_track_test.html [modify] https://crrev.com/05ca651ee93c6a2661a20924bd1c0a094e696cf9/tracing/tracing/ui/tracks/multi_row_track.html [modify] https://crrev.com/05ca651ee93c6a2661a20924bd1c0a094e696cf9/tracing/tracing/ui/tracks/async_slice_group_track.html
,
Feb 27 2018
,
Mar 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/catapult/+/72c05e713da2117c6c7902ecef7038adefbd0deb commit 72c05e713da2117c6c7902ecef7038adefbd0deb Author: Greg Kraynov <kraynov@chromium.org> Date: Tue Mar 27 16:21:39 2018 Fix frame grouping for [Web]FrameScheduler since it was renamed. Web is also dropped for [Web]Frame, it's cleaner. Bug: chromium:780473 Change-Id: Id63cc3dedef1f4e48852e1d7bcf16eb45e80ef83 Reviewed-on: https://chromium-review.googlesource.com/980853 Commit-Queue: Greg Kraynov <kraynov@chromium.org> Reviewed-by: Ethan Kuefner <eakuefner@chromium.org> [modify] https://crrev.com/72c05e713da2117c6c7902ecef7038adefbd0deb/tracing/tracing/extras/chrome/blink/blink_scheduler_async_slice.html [modify] https://crrev.com/72c05e713da2117c6c7902ecef7038adefbd0deb/tracing/tracing/model/async_slice_group_test.html
,
Mar 27 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5c8eb661ff1eef3c0fb0d56061ff6ff990f4443c commit 5c8eb661ff1eef3c0fb0d56061ff6ff990f4443c Author: catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Date: Tue Mar 27 20:15:26 2018 Roll src/third_party/catapult/ 6b8f67cc1..042835003 (3 commits) https://chromium.googlesource.com/catapult.git/+log/6b8f67cc144c..0428350035df $ git log 6b8f67cc1..042835003 --date=short --no-merges --format='%ad %ae %s' 2018-03-27 simonhatch Dashboard - Don't merge into a bug with multiple culprits. 2018-03-27 eakuefner [TBMv2] Test add_reserved_diagnostics 2018-03-27 kraynov Fix frame grouping for [Web]FrameScheduler since it was renamed. Created with: roll-dep src/third_party/catapult BUG= chromium:780473 The AutoRoll server is located here: https://catapult-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. TBR=sullivan@chromium.org Change-Id: If1fa6cf37de04ab4876805d8e70b8732679464de Reviewed-on: https://chromium-review.googlesource.com/981018 Commit-Queue: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Reviewed-by: catapult-chromium-autoroll <catapult-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#546227} [modify] https://crrev.com/5c8eb661ff1eef3c0fb0d56061ff6ff990f4443c/DEPS |
||
►
Sign in to add a comment |
||
Comment 1 by kraynov@chromium.org
, Nov 10 2017