-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Node stack filenames should be relative to app root #9072
Labels
Comments
This was referenced Dec 29, 2023
AbhiPrasad
pushed a commit
that referenced
this issue
Jan 3, 2024
This PR makes a few fixes and additions to the ANR feature. - Stops passing the `sdk` property with the event since `enhanceEventWithSdkInfo` results in duplicate integrations/packages being sent! - Allows the passings of `staticTags` to attach to ANR events - Required by Electron SDK to tag the source `process/origin/environment` - Could also be useful for other users - Optionally enable normalising of stack frame paths to the app root - Required for Electron - Soon required for Node with #9072 The path normalisation code (and tests) are from the Electron SDK and is well tested on all platforms. However, it will only be called when `appRootPath` is supplied. If/when we add path normalisation to Node, it will have a default which can be overridden. The Electron SDK will then wrap the Node Anr integration something like this: ```ts class Anr extends NodeAnr { public constructor(options: Partial<Options> = {}) { super({ ...options, staticTags: { 'event.environment': 'javascript', 'event.origin': 'electron', 'event.process': 'browser', ...options.tags, }, appRootPath: app.getAppPath(), }); } } ```
anonrig
pushed a commit
that referenced
this issue
Jan 3, 2024
This PR makes a few fixes and additions to the ANR feature. - Stops passing the `sdk` property with the event since `enhanceEventWithSdkInfo` results in duplicate integrations/packages being sent! - Allows the passings of `staticTags` to attach to ANR events - Required by Electron SDK to tag the source `process/origin/environment` - Could also be useful for other users - Optionally enable normalising of stack frame paths to the app root - Required for Electron - Soon required for Node with #9072 The path normalisation code (and tests) are from the Electron SDK and is well tested on all platforms. However, it will only be called when `appRootPath` is supplied. If/when we add path normalisation to Node, it will have a default which can be overridden. The Electron SDK will then wrap the Node Anr integration something like this: ```ts class Anr extends NodeAnr { public constructor(options: Partial<Options> = {}) { super({ ...options, staticTags: { 'event.environment': 'javascript', 'event.origin': 'electron', 'event.process': 'browser', ...options.tags, }, appRootPath: app.getAppPath(), }); } } ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Problem Statement
Currently, the Node SDK captures absolute paths for stack trace filenames.
This has a number of disadvantages:
These differences can impact error grouping.
Solution Brainstorm
For the Electron SDK the OS/username in paths was a major issue so we already cater for this by normalising paths to the application root.
We should do something similar for the Node SDK but this will be a breaking change since it would affect customer error grouping.
The text was updated successfully, but these errors were encountered: