Skip to content

Commit 4d11958

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

2 files changed

Lines changed: 25 additions & 1 deletion

File tree

front_end/core/host/RNPerfMetrics.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,6 +270,17 @@ class RNPerfMetrics {
270270
});
271271
}
272272

273+
stackTraceParsedHermesFrame(stackTrace: string, line: string, reason: string): void {
274+
this.sendEvent({
275+
eventName: 'StackTraceParsedHermesFrame',
276+
params: {
277+
stackTrace,
278+
line,
279+
reason,
280+
},
281+
});
282+
}
283+
273284
panelShown(_panelName: string, _isLaunching?: boolean): void {
274285
// no-op
275286
// We only care about the "main" and "drawer" panels for now via panelShownInLocation(…)
@@ -443,10 +454,20 @@ export type StackTraceSymbolicationFailed = Readonly<{
443454
}>,
444455
}>;
445456

457+
export type StackTraceParsedHermesFrame = Readonly<{
458+
eventName: 'StackTraceParsedHermesFrame',
459+
params: Readonly<{
460+
stackTrace: string,
461+
line: string,
462+
reason: string,
463+
}>,
464+
}>;
465+
446466
export type ReactNativeChromeDevToolsEvent =
447467
EntrypointLoadingStartedEvent|EntrypointLoadingFinishedEvent|DebuggerReadyEvent|BrowserVisibilityChangeEvent|
448468
BrowserErrorEvent|RemoteDebuggingTerminatedEvent|DeveloperResourceLoadingStartedEvent|
449469
DeveloperResourceLoadingFinishedEvent|FuseboxSetClientMetadataStartedEvent|FuseboxSetClientMetadataFinishedEvent|
450-
MemoryPanelActionStartedEvent|MemoryPanelActionFinishedEvent|PanelShownEvent|PanelClosedEvent|StackTraceSymbolicationFailed;
470+
MemoryPanelActionStartedEvent|MemoryPanelActionFinishedEvent|PanelShownEvent|PanelClosedEvent|
471+
StackTraceSymbolicationFailed|StackTraceParsedHermesFrame;
451472

452473
export type DecoratedReactNativeChromeDevToolsEvent = CommonEventFields&ReactNativeChromeDevToolsEvent;

front_end/panels/console/ErrorStackParser.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ export function parseSourcePositionsFromErrorStack(
8686
} else {
8787
linkInfos.push({line, isCallFrame});
8888
}
89+
if (splitResult.url === 'native') {
90+
Host.rnPerfMetrics.stackTraceParsedHermesFrame(stack, line, 'native frame');
91+
}
8992
continue;
9093
}
9194
let url = parseOrScriptMatch(debuggerModel, splitResult.url);

0 commit comments

Comments
 (0)