| // Copyright 2020 the V8 project 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 V8_TRACING_TRACE_CATEGORIES_H_ | 
 | #define V8_TRACING_TRACE_CATEGORIES_H_ | 
 |  | 
 | #include "src/base/macros.h" | 
 |  | 
 | #if defined(V8_USE_PERFETTO) | 
 |  | 
 | // Exports tracks events into the v8 namespace to avoid conflicts with embedders | 
 | // like Chrome. | 
 | #define PERFETTO_TRACK_EVENT_NAMESPACE v8 | 
 |  | 
 | // Export trace categories and the track event data source in components builds. | 
 | #define PERFETTO_COMPONENT_EXPORT V8_EXPORT_PRIVATE | 
 |  | 
 | // For now most of v8 uses legacy trace events. | 
 | #define PERFETTO_ENABLE_LEGACY_TRACE_EVENTS 1 | 
 |  | 
 | #include "perfetto/tracing.h" | 
 |  | 
 | // Trace category prefixes used in tests. | 
 | PERFETTO_DEFINE_TEST_CATEGORY_PREFIXES("v8-cat", "cat", "v8.Test2"); | 
 |  | 
 | // List of categories used by built-in V8 trace events. | 
 | // clang-format off | 
 | PERFETTO_DEFINE_CATEGORIES( | 
 |     perfetto::Category("V8.HandleInterrupts"), | 
 |     perfetto::Category("v8"), | 
 |     perfetto::Category("v8.console"), | 
 |     perfetto::Category("v8.execute"), | 
 |     perfetto::Category("v8.runtime"), | 
 |     perfetto::Category("v8.wasm"), | 
 |     perfetto::Category::Group("devtools.timeline,v8"), | 
 |     perfetto::Category::Group("devtools.timeline," | 
 |                               TRACE_DISABLED_BY_DEFAULT("v8.gc")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("devtools.timeline")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.compile")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.cpu_profiler")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.gc")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.gc_stats")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.ic_stats")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.runtime")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.runtime_stats_sampling")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.stack_trace")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.turbofan")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.wasm.detailed")), | 
 |     perfetto::Category(TRACE_DISABLED_BY_DEFAULT("v8.zone_stats")), | 
 |     perfetto::Category::Group("v8,devtools.timeline"), | 
 |     perfetto::Category::Group(TRACE_DISABLED_BY_DEFAULT("v8.turbofan") "," | 
 |                               TRACE_DISABLED_BY_DEFAULT("v8.wasm.detailed"))); | 
 | // clang-format on | 
 |  | 
 | #endif  // defined(V8_USE_PERFETTO) | 
 |  | 
 | #endif  // V8_TRACING_TRACE_CATEGORIES_H_ |