trace_util.h 1.2 KB

123456789101112131415161718192021222324
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef EXTENSIONS_RENDERER_TRACE_UTIL_H_
  5. #define EXTENSIONS_RENDERER_TRACE_UTIL_H_
  6. #include "base/trace_event/typed_macros.h"
  7. #include "base/tracing/protos/chrome_track_event.pbzero.h"
  8. #include "content/public/renderer/render_thread.h"
  9. #include "extensions/common/trace_util.h"
  10. // Helper macro for adding renderer-side, extension-related trace events that
  11. // capture 1) extension id (passed as an argument of the helper macro) and 2)
  12. // render process id (implicitly retrieved under the covers via
  13. // `content::RenderThread`).
  14. #define TRACE_RENDERER_EXTENSION_EVENT(event_name, extension_id) \
  15. TRACE_EVENT("extensions", event_name, \
  16. perfetto::protos::pbzero::ChromeTrackEvent::kRenderProcessHost, \
  17. *content::RenderThread::Get(), \
  18. perfetto::protos::pbzero::ChromeTrackEvent::kChromeExtensionId, \
  19. ExtensionIdForTracing(extension_id))
  20. #endif // EXTENSIONS_RENDERER_TRACE_UTIL_H_