@@ -30,6 +30,10 @@ class RNPerfMetrics {
3030 // map of panel location to panel name
3131 #currentPanels = new Map < PanelLocation , string > ( ) ;
3232
33+ isEnabled ( ) : boolean {
34+ return globalThis . enableReactNativePerfMetrics === true ;
35+ }
36+
3337 addEventListener ( listener : RNReliabilityEventListener ) : UnsubscribeFn {
3438 this . #listeners. add ( listener ) ;
3539
@@ -259,6 +263,15 @@ class RNPerfMetrics {
259263 } ) ;
260264 }
261265
266+ stackTraceSymbolicationSucceeded ( specialHermesFrameTypes : string [ ] ) : void {
267+ this . sendEvent ( {
268+ eventName : 'StackTraceSymbolicationSucceeded' ,
269+ params : {
270+ specialHermesFrameTypes,
271+ } ,
272+ } ) ;
273+ }
274+
262275 stackTraceSymbolicationFailed ( stackTrace : string , line : string , reason : string ) : void {
263276 this . sendEvent ( {
264277 eventName : 'StackTraceSymbolicationFailed' ,
@@ -270,11 +283,17 @@ class RNPerfMetrics {
270283 } ) ;
271284 }
272285
273- stackTraceSymbolicationSucceeded ( specialHermesFrameTypes : string [ ] ) : void {
286+ stackTraceFrameUrlResolutionSucceeded ( ) : void {
274287 this . sendEvent ( {
275- eventName : 'StackTraceSymbolicationSucceeded' ,
288+ eventName : 'StackTraceFrameUrlResolutionSucceeded' ,
289+ } ) ;
290+ }
291+
292+ stackTraceFrameUrlResolutionFailed ( uniqueUrls : string [ ] ) : void {
293+ this . sendEvent ( {
294+ eventName : 'StackTraceFrameUrlResolutionFailed' ,
276295 params : {
277- specialHermesFrameTypes ,
296+ uniqueUrls ,
278297 } ,
279298 } ) ;
280299 }
@@ -443,6 +462,13 @@ export type PanelClosedEvent = Readonly<{
443462 } > ,
444463} > ;
445464
465+ export type StackTraceSymbolicationSucceeded = Readonly < {
466+ eventName : 'StackTraceSymbolicationSucceeded' ,
467+ params : Readonly < {
468+ specialHermesFrameTypes : string [ ] ,
469+ } > ,
470+ } > ;
471+
446472export type StackTraceSymbolicationFailed = Readonly < {
447473 eventName : 'StackTraceSymbolicationFailed' ,
448474 params : Readonly < {
@@ -452,10 +478,14 @@ export type StackTraceSymbolicationFailed = Readonly<{
452478 } > ,
453479} > ;
454480
455- export type StackTraceSymbolicationSucceeded = Readonly < {
456- eventName : 'StackTraceSymbolicationSucceeded' ,
481+ export type StackTraceFrameUrlResolutionSucceeded = Readonly < {
482+ eventName : 'StackTraceFrameUrlResolutionSucceeded' ,
483+ } > ;
484+
485+ export type StackTraceFrameUrlResolutionFailed = Readonly < {
486+ eventName : 'StackTraceFrameUrlResolutionFailed' ,
457487 params : Readonly < {
458- specialHermesFrameTypes : string [ ] ,
488+ uniqueUrls : string [ ] ,
459489 } > ,
460490} > ;
461491
@@ -464,6 +494,7 @@ export type ReactNativeChromeDevToolsEvent =
464494 BrowserErrorEvent | RemoteDebuggingTerminatedEvent | DeveloperResourceLoadingStartedEvent |
465495 DeveloperResourceLoadingFinishedEvent | FuseboxSetClientMetadataStartedEvent | FuseboxSetClientMetadataFinishedEvent |
466496 MemoryPanelActionStartedEvent | MemoryPanelActionFinishedEvent | PanelShownEvent | PanelClosedEvent |
467- StackTraceSymbolicationFailed | StackTraceSymbolicationSucceeded ;
497+ StackTraceSymbolicationSucceeded | StackTraceSymbolicationFailed | StackTraceFrameUrlResolutionSucceeded |
498+ StackTraceFrameUrlResolutionFailed ;
468499
469500export type DecoratedReactNativeChromeDevToolsEvent = CommonEventFields & ReactNativeChromeDevToolsEvent ;
0 commit comments