Commit 817769ed authored by Sami Kyostila's avatar Sami Kyostila Committed by Commit Bot

scheduler: Don't emit virtual time trace events unless virtual time is on

This patch makes WebScopedVirtualTimePauser avoid emitting trace events
if virtual time is disabled.

Bug: 1069603
Change-Id: I14bfe21bcd67f325018ffeec1d17e01fe2f1dde0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2144143
Auto-Submit: Sami Kyöstilä <skyostil@chromium.org>
Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Reviewed-by: default avatarGabriel Charette <gab@chromium.org>
Commit-Queue: Sami Kyöstilä <skyostil@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759273}
parent 231c063a
......@@ -60,6 +60,7 @@ class BLINK_PLATFORM_EXPORT WebScopedVirtualTimePauser {
base::TimeTicks virtual_time_when_paused_;
bool paused_ = false;
bool virtual_time_enabled_when_paused_ = false;
VirtualTaskDuration duration_ = VirtualTaskDuration::kInstant;
scheduler::MainThreadSchedulerImpl* scheduler_; // NOT OWNED
WebString debug_name_;
......
......@@ -57,9 +57,17 @@ void WebScopedVirtualTimePauser::PauseVirtualTime() {
return;
paused_ = true;
TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(
"renderer.scheduler", "WebScopedVirtualTimePauser::PauseVirtualTime",
trace_id_, "name", debug_name_.Latin1());
// Note that virtual time can never be disabled after it's enabled once, so we
// don't need to worry about the reverse transition.
virtual_time_enabled_when_paused_ = scheduler_->IsVirtualTimeEnabled();
if (virtual_time_enabled_when_paused_) {
// This trace event shows when individual pausers are active (instead of the
// global paused/unpaused state).
TRACE_EVENT_NESTABLE_ASYNC_BEGIN1(
"renderer.scheduler", "WebScopedVirtualTimePauser::PauseVirtualTime",
trace_id_, "name", debug_name_.Latin1());
}
virtual_time_when_paused_ = scheduler_->IncrementVirtualTimePauseCount();
}
......@@ -77,9 +85,11 @@ void WebScopedVirtualTimePauser::DecrementVirtualTimePauseCount() {
scheduler_->MaybeAdvanceVirtualTime(virtual_time_when_paused_ +
base::TimeDelta::FromMilliseconds(10));
}
TRACE_EVENT_NESTABLE_ASYNC_END0(
"renderer.scheduler", "WebScopedVirtualTimePauser::PauseVirtualTime",
trace_id_);
if (virtual_time_enabled_when_paused_) {
TRACE_EVENT_NESTABLE_ASYNC_END0(
"renderer.scheduler", "WebScopedVirtualTimePauser::PauseVirtualTime",
trace_id_);
}
}
} // namespace blink
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment