From e6ae02a6dbcc8c417ebb6d65f3b38cbb37865a6c Mon Sep 17 00:00:00 2001 From: Aliaksei Andreyeu Date: Wed, 2 Apr 2025 23:57:54 -0700 Subject: [PATCH] Report JS events as instant track markers Summary: Currently markers are ignored in RN apps. Utilizing newly added instant track event type for sytrace so the markers are displayed nicely on the timeline. The time delta decoding will be addressed separately for proper timestamp assignment during backend processing. ## Changelog: [Internal] [Added] - Support for logging mark events with fbsystrace Reviewed By: javache Differential Revision: D72094455 fbshipit-source-id: 4cd8f53ddd0b40dfded8d6d8df367698515588c7 --- .../reactperflogger/ReactPerfettoLogger.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/react-native/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp b/packages/react-native/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp index 50b5dae07a5..78a44981044 100644 --- a/packages/react-native/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp +++ b/packages/react-native/ReactCommon/reactperflogger/reactperflogger/ReactPerfettoLogger.cpp @@ -87,6 +87,13 @@ int64_t getDeltaNanos(double jsTime) { getPerfettoWebPerfTrackSync(toPerfettoTrackName(trackName)), performanceNowToPerfettoTraceTime(startTime)); } +#elif defined(WITH_FBSYSTRACE) + static const char* kTrackName = "# Web Performance: Markers"; + fbsystrace_instant_for_track_with_timedelta( + TRACE_TAG_REACT_APPS, + kTrackName, + eventName.data(), + getDeltaNanos(startTime)); #endif }