From 21bccda26c953336b75c1b6889fd600cf5986e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Norte?= Date: Mon, 4 Aug 2025 11:21:03 -0700 Subject: [PATCH] Remove PerformanceEntryReporter::getCurrentTimeStamp (#53030) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/53030 Changelog: [internal] Removes `PerformanceEntryReporter::getCurrentTimeStamp` in favor of `HighResTimeStamp::now`, to make the source of truth more explicit. Reviewed By: hoxyq Differential Revision: D79560370 fbshipit-source-id: 0ccf2bf511781d3c47c6ddb4dd7f2061aab152b5 --- .../jsinspector-modern/network/NetworkReporter.cpp | 8 ++++---- .../performance/timeline/PerformanceEntryReporter.cpp | 4 ---- .../performance/timeline/PerformanceEntryReporter.h | 2 -- .../observers/events/EventPerformanceLogger.cpp | 11 +++++------ 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/packages/react-native/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp b/packages/react-native/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp index be2a9b3dd6e..f911b7e9981 100644 --- a/packages/react-native/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp +++ b/packages/react-native/ReactCommon/jsinspector-modern/network/NetworkReporter.cpp @@ -79,7 +79,7 @@ void NetworkReporter::reportRequestStart( int encodedDataLength, const std::optional& redirectResponse) { if (ReactNativeFeatureFlags::enableResourceTimingAPI()) { - auto now = PerformanceEntryReporter::getInstance()->getCurrentTimeStamp(); + auto now = HighResTimeStamp::now(); // All builds: Annotate PerformanceResourceTiming metadata { @@ -130,7 +130,7 @@ void NetworkReporter::reportConnectionTiming( const std::string& requestId, const std::optional& headers) { if (ReactNativeFeatureFlags::enableResourceTimingAPI()) { - auto now = PerformanceEntryReporter::getInstance()->getCurrentTimeStamp(); + auto now = HighResTimeStamp::now(); // All builds: Annotate PerformanceResourceTiming metadata { @@ -164,7 +164,7 @@ void NetworkReporter::reportResponseStart( const ResponseInfo& responseInfo, int encodedDataLength) { if (ReactNativeFeatureFlags::enableResourceTimingAPI()) { - auto now = PerformanceEntryReporter::getInstance()->getCurrentTimeStamp(); + auto now = HighResTimeStamp::now(); // All builds: Annotate PerformanceResourceTiming metadata { @@ -229,7 +229,7 @@ void NetworkReporter::reportResponseEnd( const std::string& requestId, int encodedDataLength) { if (ReactNativeFeatureFlags::enableResourceTimingAPI()) { - auto now = PerformanceEntryReporter::getInstance()->getCurrentTimeStamp(); + auto now = HighResTimeStamp::now(); // All builds: Report PerformanceResourceTiming event { diff --git a/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp b/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp index 09c6e21ddf1..377cac45a05 100644 --- a/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +++ b/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp @@ -88,10 +88,6 @@ PerformanceEntryReporter::PerformanceEntryReporter() #endif } -HighResTimeStamp PerformanceEntryReporter::getCurrentTimeStamp() const { - return HighResTimeStamp::now(); -} - void PerformanceEntryReporter::addEventTimingListener( PerformanceEntryReporterEventTimingListener* listener) { std::unique_lock lock(listenersMutex_); diff --git a/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h b/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h index 3c1272ed69c..c34aae01107 100644 --- a/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +++ b/packages/react-native/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h @@ -68,8 +68,6 @@ class PerformanceEntryReporter { PerformanceEntryType entryType, const std::string& entryName); - HighResTimeStamp getCurrentTimeStamp() const; - void addEventTimingListener( PerformanceEntryReporterEventTimingListener* listener); void removeEventTimingListener( diff --git a/packages/react-native/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp b/packages/react-native/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp index f3665ddddaf..f0198cca63b 100644 --- a/packages/react-native/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp +++ b/packages/react-native/ReactCommon/react/renderer/observers/events/EventPerformanceLogger.cpp @@ -123,9 +123,8 @@ EventTag EventPerformanceLogger::onEventStart( // The event start timestamp may be provided by the caller in order to // specify the platform specific event start time. - HighResTimeStamp timeStamp = eventStartTimeStamp - ? *eventStartTimeStamp - : performanceEntryReporter->getCurrentTimeStamp(); + HighResTimeStamp timeStamp = + eventStartTimeStamp ? *eventStartTimeStamp : HighResTimeStamp::now(); { std::lock_guard lock(eventsInFlightMutex_); eventsInFlight_.emplace( @@ -140,7 +139,7 @@ void EventPerformanceLogger::onEventProcessingStart(EventTag tag) { return; } - auto timeStamp = performanceEntryReporter->getCurrentTimeStamp(); + auto timeStamp = HighResTimeStamp::now(); { std::lock_guard lock(eventsInFlightMutex_); auto it = eventsInFlight_.find(tag); @@ -156,7 +155,7 @@ void EventPerformanceLogger::onEventProcessingEnd(EventTag tag) { return; } - auto timeStamp = performanceEntryReporter->getCurrentTimeStamp(); + auto timeStamp = HighResTimeStamp::now(); { std::lock_guard lock(eventsInFlightMutex_); auto it = eventsInFlight_.find(tag); @@ -202,7 +201,7 @@ void EventPerformanceLogger::dispatchPendingEventTimingEntries( performanceEntryReporter->reportEvent( std::string(entry.name), entry.startTime, - performanceEntryReporter->getCurrentTimeStamp() - entry.startTime, + HighResTimeStamp::now() - entry.startTime, entry.processingStartTime.value(), entry.processingEndTime.value(), entry.interactionId);