diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h index 2a8ccb31967e..d56f62ef7c68 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h @@ -8,6 +8,7 @@ #pragma once #include "CdpTracing.h" +#include "TraceEvent.h" #include @@ -21,51 +22,6 @@ namespace facebook::react::jsinspector_modern { // TODO: Review how this API is integrated into jsinspector_modern (singleton // design is copied from earlier FuseboxTracer prototype). -namespace { - -/** - * A trace event to send to the debugger frontend, as defined by the Trace Event - * Format. - * https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview?pli=1&tab=t.0#heading=h.yr4qxyxotyw - */ -struct TraceEvent { - /** The name of the event, as displayed in the Trace Viewer. */ - std::string name; - - /** - * A comma separated list of categories for the event, configuring how - * events are shown in the Trace Viewer UI. - */ - std::string cat; - - /** - * The event type. This is a single character which changes depending on the - * type of event being output. See - * https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview?pli=1&tab=t.0#heading=h.puwqg050lyuy - */ - char ph; - - /** The tracing clock timestamp of the event, in microseconds (µs). */ - uint64_t ts; - - /** The process ID for the process that output this event. */ - uint64_t pid; - - /** The thread ID for the process that output this event. */ - uint64_t tid; - - /** Any arguments provided for the event. */ - folly::dynamic args = folly::dynamic::object(); - - /** - * The duration of the event, in microseconds (µs). Only applicable to - * complete events ("ph": "X"). - */ - std::optional dur; -}; - -} // namespace - /** * [Experimental] An interface for logging performance trace events to the * modern debugger server. diff --git a/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEvent.h b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEvent.h new file mode 100644 index 000000000000..f9b31f26a1ee --- /dev/null +++ b/packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEvent.h @@ -0,0 +1,59 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +#pragma once + +#include + +namespace facebook::react::jsinspector_modern { + +namespace { + +/** + * A trace event to send to the debugger frontend, as defined by the Trace Event + * Format. + * https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview?pli=1&tab=t.0#heading=h.yr4qxyxotyw + */ +struct TraceEvent { + /** The name of the event, as displayed in the Trace Viewer. */ + std::string name; + + /** + * A comma separated list of categories for the event, configuring how + * events are shown in the Trace Viewer UI. + */ + std::string cat; + + /** + * The event type. This is a single character which changes depending on the + * type of event being output. See + * https://docs.google.com/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/preview?pli=1&tab=t.0#heading=h.puwqg050lyuy + */ + char ph; + + /** The tracing clock timestamp of the event, in microseconds (µs). */ + uint64_t ts; + + /** The process ID for the process that output this event. */ + uint64_t pid; + + /** The thread ID for the process that output this event. */ + uint64_t tid; + + /** Any arguments provided for the event. */ + folly::dynamic args = folly::dynamic::object(); + + /** + * The duration of the event, in microseconds (µs). Only applicable to + * complete events ("ph": "X"). + */ + std::optional dur; +}; + +} // namespace + +} // namespace facebook::react::jsinspector_modern