mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
fix: use ThreadId when event is captured, not when transformed (#53411)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53411 # Changelog: [Internal] This regressed after D80263154, when we introduced a local struct for PerforamanceTracerEvent. We should use id of the thread where event was captured (registered), not where the transform to TraceEvent happened. This makes sure that events like Event Loop tick or Microtasks phase tick are correctly point to JavaScript thread, not the thread where the transform could've taken place. Reviewed By: sbuggay Differential Revision: D80728931 fbshipit-source-id: d3af16e68adece9ebc37368fec2b8a17c1293b4b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
046ff8e58b
commit
a2a73739d8
@@ -190,6 +190,7 @@ void PerformanceTracer::reportTimeStamp(
|
||||
.trackName = std::move(trackName),
|
||||
.trackGroup = std::move(trackGroup),
|
||||
.color = std::move(color),
|
||||
.threadId = getCurrentThreadId(),
|
||||
});
|
||||
}
|
||||
|
||||
@@ -399,7 +400,7 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
|
||||
.ph = 'X',
|
||||
.ts = event.start,
|
||||
.pid = processId_,
|
||||
.tid = getCurrentThreadId(),
|
||||
.tid = event.threadId,
|
||||
.dur = event.end - event.start,
|
||||
});
|
||||
},
|
||||
@@ -410,7 +411,7 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
|
||||
.ph = 'X',
|
||||
.ts = event.start,
|
||||
.pid = processId_,
|
||||
.tid = getCurrentThreadId(),
|
||||
.tid = event.threadId,
|
||||
.dur = event.end - event.start,
|
||||
});
|
||||
},
|
||||
@@ -429,7 +430,7 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
|
||||
.ph = 'I',
|
||||
.ts = event.start,
|
||||
.pid = processId_,
|
||||
.tid = getCurrentThreadId(),
|
||||
.tid = event.threadId,
|
||||
.args = std::move(eventArgs),
|
||||
});
|
||||
},
|
||||
@@ -449,7 +450,7 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
|
||||
.ph = 'b',
|
||||
.ts = event.start,
|
||||
.pid = processId_,
|
||||
.tid = getCurrentThreadId(),
|
||||
.tid = event.threadId,
|
||||
.args = std::move(beginEventArgs),
|
||||
});
|
||||
events.emplace_back(TraceEvent{
|
||||
@@ -459,7 +460,7 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
|
||||
.ph = 'e',
|
||||
.ts = event.start + event.duration,
|
||||
.pid = processId_,
|
||||
.tid = getCurrentThreadId(),
|
||||
.tid = event.threadId,
|
||||
});
|
||||
},
|
||||
[&](PerformanceTracerEventTimeStamp&& event) {
|
||||
@@ -500,7 +501,7 @@ void PerformanceTracer::enqueueTraceEventsFromPerformanceTracerEvent(
|
||||
.ph = 'I',
|
||||
.ts = event.createdAt,
|
||||
.pid = processId_,
|
||||
.tid = getCurrentThreadId(),
|
||||
.tid = event.threadId,
|
||||
.args = folly::dynamic::object("data", std::move(data)),
|
||||
});
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user