Skip to content

Commit 5d6b2d9

Browse files
committed
track when a special stack trace symbolication occurs
1 parent 7774c38 commit 5d6b2d9

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

front_end/core/host/RNPerfMetrics.ts

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff 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+
446462
export 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

452469
export type DecoratedReactNativeChromeDevToolsEvent = CommonEventFields&ReactNativeChromeDevToolsEvent;

front_end/panels/console/ErrorStackParser.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,13 @@ export function parseSourcePositionsFromErrorStack(
110110
},
111111
});
112112
}
113+
114+
if (linkInfos?.length) {
115+
if (linkInfos.some(({line}) => /at .*\(native\)$/.test(line))) {
116+
Host.rnPerfMetrics.stackTraceParsedWithHermesFrame('native frame');
117+
}
118+
}
119+
113120
return linkInfos;
114121
}
115122

0 commit comments

Comments
 (0)