-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Node stack filenames should be relative to app root #9072
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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(), }); } } ```
Closed
# for free
to join this conversation on GitHub.
Already have an account?
# 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: