| // 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_ |