blob: 79ed3b71355be964eb8994c3ea969fe439fa4031 [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// 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_