14e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved.
24e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
34e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// found in the LICENSE file.
44e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
54e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "base/debug/trace_event.h"
64e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)#include "cc/debug/benchmark_instrumentation.h"
74e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
84e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)namespace cc {
9116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace benchmark_instrumentation {
104e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
114e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// Please do not change the trace events in this file without updating
124e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// tools/perf/measurements/rendering_stats.py accordingly.
134e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)// The benchmarks search for events and their arguments by name.
144e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
155f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void IssueMainThreadRenderingStatsEvent(
165f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    const RenderingStats::MainThreadRenderingStats& stats) {
174e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  TRACE_EVENT_INSTANT1("benchmark",
184e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                       "BenchmarkInstrumentation::MainThreadRenderingStats",
194e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                       TRACE_EVENT_SCOPE_THREAD,
204e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                       "data", stats.AsTraceableData());
214e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}
224e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
235f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)void IssueImplThreadRenderingStatsEvent(
245f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)    const RenderingStats::ImplThreadRenderingStats& stats) {
254e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)  TRACE_EVENT_INSTANT1("benchmark",
264e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                       "BenchmarkInstrumentation::ImplThreadRenderingStats",
274e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                       TRACE_EVENT_SCOPE_THREAD,
284e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)                       "data", stats.AsTraceableData());
294e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}
304e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)
31116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch}  // namespace benchmark_instrumentation
324e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles)}  // namespace cc
33