Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(257)

Issue 681793003: scheduler: Add support for tracing scheduler state (Closed)

Created:
6 years, 1 month ago by Sami
Modified:
6 years, 1 month ago
CC:
chromium-reviews, mkwst+moarreviews-renderer_chromium.org, darin-cc_chromium.org, jam
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

scheduler: Add support for tracing scheduler state This patch adds code for recording the interesting parts of the TaskQueueManager, RendererSchedulerImpl and RenderSchedulerSelector classes into a trace. The main bits of state that are captured: - All tasks in the incoming and work queues. - Number of tasks in the work queue as a time series. - The work queue which was selected for execution. - Scheduler priority both as a time series and snapshots. - Selector priorities as snapshots. Sample trace: https://drive.google.com/file/d/0ByyxMXB38gLDUTFpRzhldmI2Q2c/view?usp=sharing BUG=391005 Committed: https://crrev.com/c6a4ab056d73a8bc454b6c4fb2591459a7dcd32a Cr-Commit-Position: refs/heads/master@{#303642}

Patch Set 1 #

Total comments: 40

Patch Set 2 : Review comments. #

Patch Set 3 : Constness tweak. #

Patch Set 4 : Rebased. #

Patch Set 5 : Removed unused function. #

Total comments: 4

Patch Set 6 : Rebased. #

Patch Set 7 : Ross's comments. #

Patch Set 8 : Small reorganization. #

Total comments: 1

Patch Set 9 : Removed "has_task_queue_manager". #

Patch Set 10 : Rebased. #

Patch Set 11 : Fix test. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+292 lines, -11 lines) Patch
M content/renderer/scheduler/renderer_scheduler_impl.h View 1 2 3 4 5 6 7 8 9 2 chunks +12 lines, -0 lines 0 comments Download
M content/renderer/scheduler/renderer_scheduler_impl.cc View 1 2 3 4 5 6 7 8 9 10 chunks +84 lines, -1 line 0 comments Download
M content/renderer/scheduler/renderer_task_queue_selector.h View 1 2 3 4 5 3 chunks +7 lines, -0 lines 0 comments Download
M content/renderer/scheduler/renderer_task_queue_selector.cc View 1 2 3 4 5 6 2 chunks +54 lines, -6 lines 0 comments Download
M content/renderer/scheduler/task_queue_manager.h View 1 2 3 4 5 6 7 4 chunks +19 lines, -0 lines 0 comments Download
M content/renderer/scheduler/task_queue_manager.cc View 1 2 3 4 5 6 7 10 chunks +106 lines, -3 lines 0 comments Download
M content/renderer/scheduler/task_queue_manager_unittest.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/scheduler/task_queue_selector.h View 1 2 chunks +7 lines, -1 line 0 comments Download

Messages

Total messages: 26 (8 generated)
Sami
6 years, 1 month ago (2014-10-27 16:18:59 UTC) #2
rmcilroy
Looks great, there will be lots of useful info when this lands :). A couple ...
6 years, 1 month ago (2014-10-27 17:51:29 UTC) #3
alexclarke
https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/renderer_scheduler_impl.cc File content/renderer/scheduler/renderer_scheduler_impl.cc (right): https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/renderer_scheduler_impl.cc#newcode89 content/renderer/scheduler/renderer_scheduler_impl.cc:89: last_input_time_ = Now(); I know last_input_time_ is in the ...
6 years, 1 month ago (2014-10-27 17:58:11 UTC) #5
picksi1
https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/renderer_scheduler_impl.cc File content/renderer/scheduler/renderer_scheduler_impl.cc (right): https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/renderer_scheduler_impl.cc#newcode47 content/renderer/scheduler/renderer_scheduler_impl.cc:47: } Does it still make sense to use a ...
6 years, 1 month ago (2014-10-28 11:01:40 UTC) #6
Sami
Thanks for the comments all! All addressed. https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/renderer_scheduler_impl.cc File content/renderer/scheduler/renderer_scheduler_impl.cc (right): https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/renderer_scheduler_impl.cc#newcode47 content/renderer/scheduler/renderer_scheduler_impl.cc:47: } On ...
6 years, 1 month ago (2014-10-28 12:57:48 UTC) #7
picksi1
https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/task_queue_manager.cc File content/renderer/scheduler/task_queue_manager.cc (right): https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/task_queue_manager.cc#newcode338 content/renderer/scheduler/task_queue_manager.cc:338: state->SetInteger("sequence_num", task.sequence_num); As opposed to spaces! I assume this ...
6 years, 1 month ago (2014-10-28 13:38:59 UTC) #8
Sami
https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/task_queue_manager.cc File content/renderer/scheduler/task_queue_manager.cc (right): https://codereview.chromium.org/681793003/diff/1/content/renderer/scheduler/task_queue_manager.cc#newcode338 content/renderer/scheduler/task_queue_manager.cc:338: state->SetInteger("sequence_num", task.sequence_num); On 2014/10/28 13:38:59, picksi1 wrote: > As ...
6 years, 1 month ago (2014-10-28 13:42:00 UTC) #9
rmcilroy
This will need rebasing, but lgtm, thanks! https://codereview.chromium.org/681793003/diff/80001/content/renderer/scheduler/renderer_scheduler_impl.cc File content/renderer/scheduler/renderer_scheduler_impl.cc (right): https://codereview.chromium.org/681793003/diff/80001/content/renderer/scheduler/renderer_scheduler_impl.cc#newcode80 content/renderer/scheduler/renderer_scheduler_impl.cc:80: "RendererSchedulerImpl::WillBeginFrame"); Would ...
6 years, 1 month ago (2014-11-07 18:21:57 UTC) #10
Sami
Thanks Ross. I fixed your comments and did some small reorganization. Daniel, could you approve ...
6 years, 1 month ago (2014-11-10 14:35:01 UTC) #12
no sievers
lgtm https://codereview.chromium.org/681793003/diff/140001/content/renderer/scheduler/renderer_scheduler_impl.cc File content/renderer/scheduler/renderer_scheduler_impl.cc (right): https://codereview.chromium.org/681793003/diff/140001/content/renderer/scheduler/renderer_scheduler_impl.cc#newcode291 content/renderer/scheduler/renderer_scheduler_impl.cc:291: state->SetBoolean("has_task_queue_manager", task_queue_manager_.get()); Do you really care about this? ...
6 years, 1 month ago (2014-11-10 23:15:27 UTC) #13
Sami
On 2014/11/10 23:15:27, sievers wrote: > lgtm > > https://codereview.chromium.org/681793003/diff/140001/content/renderer/scheduler/renderer_scheduler_impl.cc > File content/renderer/scheduler/renderer_scheduler_impl.cc (right): > ...
6 years, 1 month ago (2014-11-11 11:11:44 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/681793003/160001
6 years, 1 month ago (2014-11-11 11:12:45 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_compile_dbg on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg/builds/33052) mac_chromium_rel_ng on tryserver.chromium.mac (http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/4470)
6 years, 1 month ago (2014-11-11 11:15:30 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/681793003/180001
6 years, 1 month ago (2014-11-11 12:16:57 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: linux_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/linux_gpu/builds/90242) linux_chromium_asan_rel on tryserver.chromium.linux (http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel/builds/9678)
6 years, 1 month ago (2014-11-11 12:33:51 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/681793003/200001
6 years, 1 month ago (2014-11-11 12:45:09 UTC) #24
commit-bot: I haz the power
Committed patchset #11 (id:200001)
6 years, 1 month ago (2014-11-11 14:25:50 UTC) #25
commit-bot: I haz the power
6 years, 1 month ago (2014-11-11 14:26:27 UTC) #26
Message was sent while issue was closed.
Patchset 11 (id:??) landed as
https://crrev.com/c6a4ab056d73a8bc454b6c4fb2591459a7dcd32a
Cr-Commit-Position: refs/heads/master@{#303642}

Powered by Google App Engine
This is Rietveld 408576698