Commit 6d01b4bb authored by Etienne Pierre-doray's avatar Etienne Pierre-doray Committed by Commit Bot

[Jank]: Add renderer visibility metadata.

The event is useful in tracing. Now that we're looking at jank using
sampling profiler, we need similar annotation for stack samples.

Change-Id: I6987dcb7da856f4a2099479d16c3ca37fd9e113a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2144775Reviewed-by: default avatarFrançois Doray <fdoray@chromium.org>
Reviewed-by: default avatarMike Wittman <wittman@chromium.org>
Reviewed-by: default avatarAlexander Timin <altimin@chromium.org>
Commit-Queue: Etienne Pierre-Doray <etiennep@chromium.org>
Cr-Commit-Position: refs/heads/master@{#759733}
parent 8921abc5
......@@ -29,6 +29,7 @@ include_rules = [
"+base/observer_list.h",
"+base/optional.h",
"+base/pending_task.h",
"+base/profiler/sample_metadata.h",
"+base/run_loop.h",
"+base/sequence_checker.h",
"+base/single_thread_task_runner.h",
......
......@@ -937,9 +937,12 @@ void MainThreadSchedulerImpl::SetRendererHidden(bool hidden) {
if (hidden) {
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"),
"MainThreadSchedulerImpl::OnRendererHidden");
main_thread_only().renderer_hidden_metadata.emplace(
"MainThreadSchedulerImpl.RendererHidden", /* is_hidden */ 1);
} else {
TRACE_EVENT0(TRACE_DISABLED_BY_DEFAULT("renderer.scheduler"),
"MainThreadSchedulerImpl::OnRendererVisible");
main_thread_only().renderer_hidden_metadata.reset();
}
helper_.CheckOnValidThread();
main_thread_only().renderer_hidden = hidden;
......
......@@ -16,6 +16,7 @@
#include "base/memory/weak_ptr.h"
#include "base/metrics/single_sample_metrics.h"
#include "base/optional.h"
#include "base/profiler/sample_metadata.h"
#include "base/single_thread_task_runner.h"
#include "base/synchronization/lock.h"
#include "base/task/sequence_manager/task_queue.h"
......@@ -880,6 +881,7 @@ class PLATFORM_EXPORT MainThreadSchedulerImpl
TraceableState<RAILMode, TracingCategoryName::kInfo>
rail_mode_for_tracing; // Don't use except for tracing.
TraceableState<bool, TracingCategoryName::kTopLevel> renderer_hidden;
base::Optional<base::ScopedSampleMetadata> renderer_hidden_metadata;
TraceableState<bool, TracingCategoryName::kTopLevel> renderer_backgrounded;
TraceableState<bool, TracingCategoryName::kDefault>
keep_active_fetch_or_worker;
......
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