summaryrefslogtreecommitdiff
path: root/chromium/extensions/renderer/trace_util.h
blob: 39bca3efa8e564c64a25d9c40a1dc74d03b6d02f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef EXTENSIONS_RENDERER_TRACE_UTIL_H_
#define EXTENSIONS_RENDERER_TRACE_UTIL_H_

#include "base/trace_event/typed_macros.h"
#include "base/tracing/protos/chrome_track_event.pbzero.h"
#include "content/public/renderer/render_thread.h"
#include "extensions/common/trace_util.h"

// Helper macro for adding renderer-side, extension-related trace events that
// capture 1) extension id (passed as an argument of the helper macro) and 2)
// render process id (implicitly retrieved under the covers via
// `content::RenderThread`).
#define TRACE_RENDERER_EXTENSION_EVENT(event_name, extension_id)              \
  TRACE_EVENT("extensions", event_name,                                       \
              perfetto::protos::pbzero::ChromeTrackEvent::kRenderProcessHost, \
              *content::RenderThread::Get(),                                  \
              perfetto::protos::pbzero::ChromeTrackEvent::kChromeExtensionId, \
              ExtensionIdForTracing(extension_id))

#endif  // EXTENSIONS_RENDERER_TRACE_UTIL_H_