Commit a7087bf3 authored by Vladimir Levin's avatar Vladimir Levin Committed by Commit Bot

DL: Clean up trace events and add two more.

This patch removes display locking trace events that were not adding
any value. They are instead replaced with two new ones:
- A count of total locked display locks.
- An async slice for forced locks

R=chrishtr@chromium.org, flackr@chromium.org

Change-Id: Ic3e075767e53054aeb88f6860226f08162948021
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2022619Reviewed-by: default avatarRobert Flack <flackr@chromium.org>
Commit-Queue: vmpstr <vmpstr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#735477}
parent 0fd470f5
...@@ -88,22 +88,6 @@ void RecordActivationReason(DisplayLockActivationReason reason) { ...@@ -88,22 +88,6 @@ void RecordActivationReason(DisplayLockActivationReason reason) {
ordered_reason, number_of_reasons); ordered_reason, number_of_reasons);
} }
// Helper function to convert a display locking state to a string. Used in
// traces.
const char* StateToString(DisplayLockContext::State state) {
switch (state) {
case DisplayLockContext::kLocked:
return "kLocked";
case DisplayLockContext::kUpdating:
return "kUpdating";
case DisplayLockContext::kCommitting:
return "kCommitting";
case DisplayLockContext::kUnlocked:
return "kUnlocked";
}
return "";
}
// Helper function that returns an immediately rejected promise. // Helper function that returns an immediately rejected promise.
ScriptPromise GetRejectedPromise(ScriptState* script_state, ScriptPromise GetRejectedPromise(ScriptState* script_state,
const char* rejection_reason) { const char* rejection_reason) {
...@@ -255,7 +239,6 @@ void DisplayLockContext::StartAcquire() { ...@@ -255,7 +239,6 @@ void DisplayLockContext::StartAcquire() {
} }
ScriptPromise DisplayLockContext::UpdateRendering(ScriptState* script_state) { ScriptPromise DisplayLockContext::UpdateRendering(ScriptState* script_state) {
TRACE_EVENT0("blink", "DisplayLockContext::UpdateRendering");
// Immediately resolve if we're unlocked or disconnected. // Immediately resolve if we're unlocked or disconnected.
if (state_ == kUnlocked || !ConnectedToView()) if (state_ == kUnlocked || !ConnectedToView())
return GetResolvedPromise(script_state); return GetResolvedPromise(script_state);
...@@ -516,6 +499,9 @@ DisplayLockContext::GetScopedForcedUpdate() { ...@@ -516,6 +499,9 @@ DisplayLockContext::GetScopedForcedUpdate() {
DCHECK(!update_forced_); DCHECK(!update_forced_);
update_forced_ = true; update_forced_ = true;
TRACE_EVENT_ASYNC_BEGIN0(
TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"), "LockForced",
TRACE_ID_LOCAL(this));
// Now that the update is forced, we should ensure that style layout, and // Now that the update is forced, we should ensure that style layout, and
// prepaint code can reach it via dirty bits. Note that paint isn't a part of // prepaint code can reach it via dirty bits. Note that paint isn't a part of
...@@ -530,6 +516,8 @@ DisplayLockContext::GetScopedForcedUpdate() { ...@@ -530,6 +516,8 @@ DisplayLockContext::GetScopedForcedUpdate() {
void DisplayLockContext::NotifyForcedUpdateScopeEnded() { void DisplayLockContext::NotifyForcedUpdateScopeEnded() {
DCHECK(update_forced_); DCHECK(update_forced_);
update_forced_ = false; update_forced_ = false;
TRACE_EVENT_ASYNC_END0(TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"),
"LockForced", TRACE_ID_LOCAL(this));
} }
void DisplayLockContext::StartCommit() { void DisplayLockContext::StartCommit() {
...@@ -1017,32 +1005,12 @@ operator=(State new_state) { ...@@ -1017,32 +1005,12 @@ operator=(State new_state) {
if (new_state == state_) if (new_state == state_)
return *this; return *this;
if (state_ == kUnlocked) {
TRACE_EVENT_NESTABLE_ASYNC_BEGIN0(
TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"),
"LockedDisplayLock", TRACE_ID_LOCAL(this));
} else {
TRACE_EVENT_NESTABLE_ASYNC_END0(
TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"),
StateToString(state_), TRACE_ID_LOCAL(this));
}
bool was_activatable = bool was_activatable =
context_->IsActivatable(DisplayLockActivationReason::kAny); context_->IsActivatable(DisplayLockActivationReason::kAny);
bool was_locked = context_->IsLocked(); bool was_locked = context_->IsLocked();
state_ = new_state; state_ = new_state;
if (state_ == kUnlocked) {
TRACE_EVENT_NESTABLE_ASYNC_END0(
TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"),
"LockedDisplayLock", TRACE_ID_LOCAL(this));
} else {
TRACE_EVENT_NESTABLE_ASYNC_BEGIN0(
TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"),
StateToString(state_), TRACE_ID_LOCAL(this));
}
if (!context_->document_) if (!context_->document_)
return *this; return *this;
......
...@@ -8099,11 +8099,17 @@ int Document::DisplayLockBlockingAllActivationCount() const { ...@@ -8099,11 +8099,17 @@ int Document::DisplayLockBlockingAllActivationCount() const {
void Document::AddLockedDisplayLock() { void Document::AddLockedDisplayLock() {
++locked_display_lock_count_; ++locked_display_lock_count_;
TRACE_COUNTER_ID1(TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"),
"LockedDisplayLockCount", TRACE_ID_LOCAL(this),
locked_display_lock_count_);
} }
void Document::RemoveLockedDisplayLock() { void Document::RemoveLockedDisplayLock() {
DCHECK_GT(locked_display_lock_count_, 0); DCHECK_GT(locked_display_lock_count_, 0);
--locked_display_lock_count_; --locked_display_lock_count_;
TRACE_COUNTER_ID1(TRACE_DISABLED_BY_DEFAULT("blink.debug.display_lock"),
"LockedDisplayLockCount", TRACE_ID_LOCAL(this),
locked_display_lock_count_);
} }
int Document::LockedDisplayLockCount() const { int Document::LockedDisplayLockCount() const {
......
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