File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -270,6 +270,15 @@ class RNPerfMetrics {
270270 } ) ;
271271 }
272272
273+ stackTraceParsedWithHermesFrame ( frameType : string ) : void {
274+ this . sendEvent ( {
275+ eventName : 'StackTraceParsedWithHermesFrame' ,
276+ params : {
277+ frameType,
278+ } ,
279+ } ) ;
280+ }
281+
273282 panelShown ( _panelName : string , _isLaunching ?: boolean ) : void {
274283 // no-op
275284 // We only care about the "main" and "drawer" panels for now via panelShownInLocation(…)
@@ -443,10 +452,18 @@ export type StackTraceSymbolicationFailed = Readonly<{
443452 } > ,
444453} > ;
445454
455+ export type StackTraceParsedWithHermesFrame = Readonly < {
456+ eventName : 'StackTraceParsedWithHermesFrame' ,
457+ params : Readonly < {
458+ frameType : string ,
459+ } > ,
460+ } > ;
461+
446462export type ReactNativeChromeDevToolsEvent =
447463 EntrypointLoadingStartedEvent | EntrypointLoadingFinishedEvent | DebuggerReadyEvent | BrowserVisibilityChangeEvent |
448464 BrowserErrorEvent | RemoteDebuggingTerminatedEvent | DeveloperResourceLoadingStartedEvent |
449465 DeveloperResourceLoadingFinishedEvent | FuseboxSetClientMetadataStartedEvent | FuseboxSetClientMetadataFinishedEvent |
450- MemoryPanelActionStartedEvent | MemoryPanelActionFinishedEvent | PanelShownEvent | PanelClosedEvent | StackTraceSymbolicationFailed ;
466+ MemoryPanelActionStartedEvent | MemoryPanelActionFinishedEvent | PanelShownEvent | PanelClosedEvent |
467+ StackTraceSymbolicationFailed | StackTraceParsedWithHermesFrame ;
451468
452469export type DecoratedReactNativeChromeDevToolsEvent = CommonEventFields & ReactNativeChromeDevToolsEvent ;
Original file line number Diff line number Diff line change @@ -79,7 +79,7 @@ export function parseSourcePositionsFromErrorStack(
7979
8080 const linkCandidate = line . substring ( left , right ) ;
8181 const splitResult = Common . ParsedURL . ParsedURL . splitLineAndColumn ( linkCandidate ) ;
82- if ( splitResult . url === '<anonymous>' || splitResult . url === 'native' ) {
82+ if ( splitResult . url === '<anonymous>' ) {
8383 if ( linkInfos . length && linkInfos [ linkInfos . length - 1 ] . isCallFrame && ! linkInfos [ linkInfos . length - 1 ] . link ) {
8484 // Combine builtin frames.
8585 linkInfos [ linkInfos . length - 1 ] . line += `\n${ line } ` ;
@@ -110,6 +110,13 @@ export function parseSourcePositionsFromErrorStack(
110110 } ,
111111 } ) ;
112112 }
113+
114+ if ( linkInfos ?. length ) {
115+ if ( linkInfos . some ( ( { line} ) => / a t .* \( n a t i v e \) $ / . test ( line ) ) ) {
116+ Host . rnPerfMetrics . stackTraceParsedWithHermesFrame ( 'native frame' ) ;
117+ }
118+ }
119+
113120 return linkInfos ;
114121}
115122
You can’t perform that action at this time.
0 commit comments