summaryrefslogtreecommitdiffstats
path: root/content/renderer/scheduler
diff options
context:
space:
mode:
authorrmcilroy <rmcilroy@chromium.org>2015-02-12 15:27:40 -0800
committerCommit bot <commit-bot@chromium.org>2015-02-12 23:28:34 +0000
commit75c2b017bd1ab668d7f20fde6af6f5506a842c02 (patch)
tree011a718c1ecbea454abc80e03ca00369d5d0b029 /content/renderer/scheduler
parentbea94bfec1e16564d5c259653fad5d05dcee4373 (diff)
downloadchromium_src-75c2b017bd1ab668d7f20fde6af6f5506a842c02.zip
chromium_src-75c2b017bd1ab668d7f20fde6af6f5506a842c02.tar.gz
chromium_src-75c2b017bd1ab668d7f20fde6af6f5506a842c02.tar.bz2
Add DeadlineOverrun step to the RendererSchedulerIdlePeriod trace event.
Adds a deadline overrun step to the RendererSchedulerIdlePeriod trace event to make it obvious when an idle period lasts longer than its deadline. Also adds a TRACE_EVENT_ASYNC_STEP_INTO_WITH_TIMESTAMP0 which is required to add the step at the appropriate time. BUG=455713 Committed: https://crrev.com/a38b72b5f1ec147bb961e9045ca0c165f428d5e4 Cr-Commit-Position: refs/heads/master@{#315042} Review URL: https://codereview.chromium.org/908473002 Cr-Commit-Position: refs/heads/master@{#316080}
Diffstat (limited to 'content/renderer/scheduler')
-rw-r--r--content/renderer/scheduler/renderer_scheduler_impl.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/content/renderer/scheduler/renderer_scheduler_impl.cc b/content/renderer/scheduler/renderer_scheduler_impl.cc
index 41ecf44..2e2da80 100644
--- a/content/renderer/scheduler/renderer_scheduler_impl.cc
+++ b/content/renderer/scheduler/renderer_scheduler_impl.cc
@@ -293,6 +293,17 @@ void RendererSchedulerImpl::StartIdlePeriod() {
}
void RendererSchedulerImpl::EndIdlePeriod() {
+ bool is_tracing;
+ TRACE_EVENT_CATEGORY_GROUP_ENABLED("renderer.scheduler", &is_tracing);
+ if (is_tracing && !estimated_next_frame_begin_.is_null() &&
+ base::TimeTicks::Now() > estimated_next_frame_begin_) {
+ TRACE_EVENT_ASYNC_STEP_INTO_WITH_TIMESTAMP0(
+ "renderer.scheduler",
+ "RendererSchedulerIdlePeriod",
+ this,
+ "DeadlineOverrun",
+ estimated_next_frame_begin_.ToInternalValue());
+ }
TRACE_EVENT_ASYNC_END0("renderer.scheduler",
"RendererSchedulerIdlePeriod", this);
DCHECK(main_thread_checker_.CalledOnValidThread());