Skip to content

Commit 55893c5

Browse files
coadometa-codesync[bot]
authored andcommitted
Make select jsinspector tracing implementation headers private (#58796)
Summary: Pull Request resolved: #58796 Mark the following tracing headers as private instead of for-frameworks. All of them are implementation details of React Native's tracing infrastructure, and no for-frameworks header includes them: - `EventLoopReporter` is an RAII helper the runtime scheduler uses to report event loop task and microtask phases to the performance tracer. It is only used by `EventLoopReporter.cpp` and `RuntimeScheduler_Modern.cpp`. - `RuntimeSamplingProfileTraceEventSerializer` turns a runtime sampling profile into trace events. It is only used by tracing sources, `TracingAgent.cpp` and its own unit test. - `TraceEventSerializer` serializes trace events to `folly::dynamic`. It is only used by tracing sources and `TracingAgent.cpp`. - `TraceEventGenerator` builds trace events for the performance tracer and the host profile serializer. It is only used by tracing sources and was already not exported in Buck. - `ProfileTreeNode` is an auxiliary tree used to build the profile and deduplicate identical frames. It is only used by `RuntimeSamplingProfileTraceEventSerializer.cpp` and its own unit test. - `Timing.h` defines the tracing clock origin and the conversions from `HighResTimeStamp` and `HighResDuration` to trace event microseconds. It is only used by tracing sources and a tracing unit test. `TracingAgent.h` included `Timing.h` without using it; that include is removed. React Native's own targets define `RN_BUILDING`, so the private guard does not affect them. Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D122780825 fbshipit-source-id: 70f290a589ec895d80111a585e77a382ad4a1695
1 parent 6979e8f commit 55893c5

10 files changed

Lines changed: 6 additions & 190 deletions

File tree

‎packages/react-native/ReactCommon/jsinspector-modern/TracingAgent.h‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
#include <React/Timing.h>
1616
#include <jsinspector-modern/cdp/CdpJson.h>
1717
#include <jsinspector-modern/tracing/HostTracingProfile.h>
18-
#include <jsinspector-modern/tracing/Timing.h>
1918

2019
namespace facebook::react::jsinspector_modern {
2120

‎packages/react-native/ReactCommon/jsinspector-modern/tracing/EventLoopReporter.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#pragma once
99

10-
#include <react/cxxstableapi/FrameworksGuard.h>
10+
#include <react/cxxstableapi/PrivateGuard.h>
1111

1212
#if defined(REACT_NATIVE_DEBUGGER_ENABLED)
1313
#include <React/Timing.h>

‎packages/react-native/ReactCommon/jsinspector-modern/tracing/ProfileTreeNode.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#pragma once
99

10-
#include <react/cxxstableapi/FrameworksGuard.h>
10+
#include <react/cxxstableapi/PrivateGuard.h>
1111

1212
#include <utility>
1313

‎packages/react-native/ReactCommon/jsinspector-modern/tracing/RuntimeSamplingProfileTraceEventSerializer.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#pragma once
99

10-
#include <react/cxxstableapi/FrameworksGuard.h>
10+
#include <react/cxxstableapi/PrivateGuard.h>
1111

1212
#include "RuntimeSamplingProfile.h"
1313

‎packages/react-native/ReactCommon/jsinspector-modern/tracing/Timing.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#pragma once
99

10-
#include <react/cxxstableapi/FrameworksGuard.h>
10+
#include <react/cxxstableapi/PrivateGuard.h>
1111

1212
#include <cassert>
1313

‎packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventGenerator.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#pragma once
99

10-
#include <react/cxxstableapi/FrameworksGuard.h>
10+
#include <react/cxxstableapi/PrivateGuard.h>
1111

1212
#include "TraceEvent.h"
1313

‎packages/react-native/ReactCommon/jsinspector-modern/tracing/TraceEventSerializer.h‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
#pragma once
99

10-
#include <react/cxxstableapi/FrameworksGuard.h>
10+
#include <react/cxxstableapi/PrivateGuard.h>
1111

1212
#include "TraceEvent.h"
1313
#include "TraceEventProfile.h"

‎scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api‎

Lines changed: 0 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -9531,7 +9531,6 @@ class facebook::react::jsinspector_modern::WeakList {
95319531
}
95329532

95339533

9534-
constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::TRACING_TIME_ORIGIN;
95359534
constexpr facebook::react::HighResTimeStamp facebook::react::jsinspector_modern::tracing::kCurrentBufferStartTimeUninitialized;
95369535
using facebook::react::jsinspector_modern::tracing::Categories = folly::small_vector<facebook::react::jsinspector_modern::tracing::Category, 1>;
95379536
using facebook::react::jsinspector_modern::tracing::ConsoleTimeStampEntry = std::variant<facebook::react::HighResTimeStamp, std::string>;
@@ -9540,7 +9539,6 @@ using facebook::react::jsinspector_modern::tracing::Headers = std::map<std::stri
95409539
using facebook::react::jsinspector_modern::tracing::ProcessId = uint64_t;
95419540
using facebook::react::jsinspector_modern::tracing::RuntimeProfileId = uint16_t;
95429541
using facebook::react::jsinspector_modern::tracing::ThreadId = uint64_t;
9543-
int64_t facebook::react::jsinspector_modern::tracing::highResDurationToTracingClockDuration(facebook::react::HighResDuration duration);
95449542
std::optional<facebook::react::jsinspector_modern::tracing::Category> facebook::react::jsinspector_modern::tracing::getTracingCategoryFromString(const std::string& str);
95459543
std::optional<facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor> facebook::react::jsinspector_modern::tracing::getConsoleTimeStampColorFromString(const std::string& str);
95469544
std::optional<folly::dynamic> facebook::react::jsinspector_modern::tracing::getConsoleTimeStampDetailFromObject(facebook::jsi::Runtime& runtime, const facebook::jsi::Value& detailValue);
@@ -9549,7 +9547,6 @@ std::string facebook::react::jsinspector_modern::tracing::consoleTimeStampColorT
95499547
std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const facebook::react::jsinspector_modern::tracing::Categories& categories);
95509548
std::string facebook::react::jsinspector_modern::tracing::serializeTracingCategories(const std::set<facebook::react::jsinspector_modern::tracing::Category>& categories);
95519549
std::string facebook::react::jsinspector_modern::tracing::tracingCategoryToString(const facebook::react::jsinspector_modern::tracing::Category& category);
9552-
uint64_t facebook::react::jsinspector_modern::tracing::highResTimeStampToTracingClockTimeStamp(facebook::react::HighResTimeStamp timestamp);
95539550

95549551
class facebook::react::jsinspector_modern::tracing::HostTracingProfileSerializer {
95559552
public static void emitAsDataCollectedChunks(facebook::react::jsinspector_modern::tracing::HostTracingProfile&& hostTracingProfile, const std::function<void(folly::dynamic&& chunk)>& chunkCallback, size_t maxChunkBytes, uint16_t profileTraceEventsChunkSize);
@@ -9580,56 +9577,16 @@ class facebook::react::jsinspector_modern::tracing::PerformanceTracer {
95809577
public void unsubscribeFromTracingStateChanges(uint32_t subscriptionId);
95819578
}
95829579

9583-
class facebook::react::jsinspector_modern::tracing::ProfileTreeNode {
9584-
public ProfileTreeNode(uint32_t id, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType codeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame callFrame, uint32_t parentId = facebook::react::jsinspector_modern::tracing::ProfileTreeNode::NO_PARENT);
9585-
public bool hasParent() const;
9586-
public const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& getCallFrame() const;
9587-
public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* addChild(uint32_t childId, facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame childCallFrame);
9588-
public facebook::react::jsinspector_modern::tracing::ProfileTreeNode* getIfAlreadyExists(facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType childCodeType, const facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile::SampleCallStackFrame& childCallFrame);
9589-
public facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType getCodeType() const;
9590-
public static constexpr uint32_t NO_PARENT;
9591-
public uint32_t getId() const;
9592-
public uint32_t getParentId() const;
9593-
}
9594-
9595-
enum facebook::react::jsinspector_modern::tracing::ProfileTreeNode::CodeType {
9596-
JavaScript,
9597-
Other,
9598-
}
9599-
96009580
class facebook::react::jsinspector_modern::tracing::RawRuntimeProfile {
96019581
public virtual ~RawRuntimeProfile() = default;
96029582
}
96039583

9604-
class facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfileTraceEventSerializer {
9605-
public static void serializeAndDispatch(facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile&& profile, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function<void(folly::dynamic&& traceEventsChunk)>& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK);
9606-
public static void serializeAndDispatch(std::vector<facebook::react::jsinspector_modern::tracing::RuntimeSamplingProfile>&& profiles, facebook::react::jsinspector_modern::tracing::IdGenerator& profileIdGenerator, facebook::react::HighResTimeStamp tracingStartTime, const std::function<void(folly::dynamic&& traceEventsChunk)>& dispatchCallback, uint16_t traceEventChunkSize, uint16_t profileChunkSize = PROFILE_CHUNK_SIZE, uint16_t maxUniqueNodesPerChunk = MAX_UNIQUE_NODES_PER_CHUNK);
9607-
}
9608-
96099584
class facebook::react::jsinspector_modern::tracing::TargetTracingAgent {
96109585
protected facebook::react::jsinspector_modern::tracing::TraceRecordingState& state_;
96119586
public TargetTracingAgent(facebook::react::jsinspector_modern::tracing::TraceRecordingState& state);
96129587
public bool isRunningInBackgroundMode();
96139588
}
96149589

9615-
class facebook::react::jsinspector_modern::tracing::TraceEventGenerator {
9616-
public static facebook::react::jsinspector_modern::tracing::TraceEvent createIdleBeginFrameEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId);
9617-
public static facebook::react::jsinspector_modern::tracing::TraceEvent createNeedsBeginFrameChangedEvent(int layerTreeId, facebook::react::HighResTimeStamp timestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId);
9618-
public static facebook::react::jsinspector_modern::tracing::TraceEvent createScreenshotEvent(facebook::react::jsinspector_modern::tracing::FrameSequenceId frameSequenceId, int sourceId, std::vector<uint8_t>&& snapshot, facebook::react::HighResTimeStamp expectedDisplayTime, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId);
9619-
public static facebook::react::jsinspector_modern::tracing::TraceEvent createSetLayerTreeIdEvent(std::string frame, int layerTreeId, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp timestamp);
9620-
public static std::pair<facebook::react::jsinspector_modern::tracing::TraceEvent, facebook::react::jsinspector_modern::tracing::TraceEvent> createFrameTimingsEvents(facebook::react::jsinspector_modern::tracing::FrameSequenceId sequenceId, int layerTreeId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, facebook::react::jsinspector_modern::tracing::ProcessId processId, facebook::react::jsinspector_modern::tracing::ThreadId threadId);
9621-
}
9622-
9623-
class facebook::react::jsinspector_modern::tracing::TraceEventSerializer {
9624-
public static folly::dynamic serialize(facebook::react::jsinspector_modern::tracing::TraceEvent&& event);
9625-
public static folly::dynamic serializeProfileChunk(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk&& profileChunk);
9626-
public static folly::dynamic serializeProfileChunkCPUProfile(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile&& cpuProfile);
9627-
public static folly::dynamic serializeProfileChunkCPUProfileNode(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node&& node);
9628-
public static folly::dynamic serializeProfileChunkCPUProfileNodeCallFrame(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::CPUProfile::Node::CallFrame&& callFrame);
9629-
public static folly::dynamic serializeProfileChunkTimeDeltas(facebook::react::jsinspector_modern::tracing::TraceEventProfileChunk::TimeDeltas&& deltas);
9630-
public static size_t estimateJsonSize(const folly::dynamic& value);
9631-
}
9632-
96339590
enum facebook::react::jsinspector_modern::tracing::Category {
96349591
Frame,
96359592
HiddenTimeline,
@@ -9654,25 +9611,11 @@ enum facebook::react::jsinspector_modern::tracing::ConsoleTimeStampColor {
96549611
Warning,
96559612
}
96569613

9657-
enum facebook::react::jsinspector_modern::tracing::EventLoopPhase {
9658-
Microtasks,
9659-
Task,
9660-
}
9661-
96629614
enum facebook::react::jsinspector_modern::tracing::Mode {
96639615
Background,
96649616
CDP,
96659617
}
96669618

9667-
struct facebook::react::jsinspector_modern::tracing::EventLoopReporter {
9668-
public EventLoopReporter(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete;
9669-
public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopPhase phase);
9670-
public EventLoopReporter(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete;
9671-
public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(const facebook::react::jsinspector_modern::tracing::EventLoopReporter&) = delete;
9672-
public facebook::react::jsinspector_modern::tracing::EventLoopReporter& operator=(facebook::react::jsinspector_modern::tracing::EventLoopReporter&&) = delete;
9673-
public ~EventLoopReporter();
9674-
}
9675-
96769619
struct facebook::react::jsinspector_modern::tracing::FrameTimingSequence {
96779620
public FrameTimingSequence() = delete;
96789621
public FrameTimingSequence(facebook::react::jsinspector_modern::tracing::FrameSequenceId id, facebook::react::jsinspector_modern::tracing::ThreadId threadId, facebook::react::HighResTimeStamp beginTimestamp, facebook::react::HighResTimeStamp endTimestamp, std::optional<std::vector<uint8_t>> screenshot = std::nullopt, facebook::react::HighResDuration vsyncInterval = facebook::react::HighResDuration::zero());
@@ -9698,10 +9641,6 @@ struct facebook::react::jsinspector_modern::tracing::HostTracingProfile {
96989641
public ~HostTracingProfile() = default;
96999642
}
97009643

9701-
struct facebook::react::jsinspector_modern::tracing::IdGenerator {
9702-
public uint32_t getNext();
9703-
}
9704-
97059644
struct facebook::react::jsinspector_modern::tracing::InstanceTracingProfile {
97069645
public std::vector<facebook::react::jsinspector_modern::tracing::TraceEvent> performanceTraceEvents;
97079646
}

0 commit comments

Comments
 (0)