BugSnag automatically captures a variety of data to help you debug your errors. You may wish to avoid capturing some types of data, particularly if there are privacy implications for your users.
If native crash reporting is enabled, a memory dump will be generated by your Electron app in “minidump” format and uploaded alongside event data captured by BugSnag to provide information on the crash. As this file is a memory dump of your application at the time of the crash, it may contain sensitive data. However, the minidumps are deleted after processing and only the crash-specific information is retained.
Information about the application can be useful to identify if an error occurs in certain versions.
Data | Default value | Preventing collection |
---|---|---|
CFBundleVersion |
The bundle version from the packaged native app (macOS only) | Modify metadata.app.CFBundleVersion in a callback |
duration |
The length of time that the application had been running at the time of the error | Modify app.duration in a callback |
durationInForeground |
The length of time that the application had been in focus at the time of the error | Modify app.durationInForeground in a callback |
inForeground |
A boolean value denoting if any application window was in the foreground at the time of the error | Modify app.inForeground in a callback |
installedFromStore |
“windows” or “mac” if the application was installed from the Windows Store or Mac App Store respectively | Modify metadata.app.installedFromStore in a callback |
name |
The name of the application, as reported by app.getName() |
Modify metadata.app.name in a callback |
type |
The operating system category, if applicable, from “Windows”, “Linux”, or “macOS” | Modify app.type in a callback |
version |
The native version of the application: the bundle version (CFBundleShortVersionString on macOS, ProductVersion on Windows) or otherwise the version reported by app.getVersion() |
Modify app.version in a callback |
Breadcrumbs are automatically recorded for common actions and can be helpful to reproduce errors.
Data | Default value | Preventing collection |
---|---|---|
App lifecycle events | Changes to app readiness and window state | Set enabledBreadcrumbTypes or modify/discard the breadcrumb in an onBreadcrumb callback |
Console message | The message sent to the console and its severity | Set enabledBreadcrumbTypes or modify/discard the breadcrumb in an onBreadcrumb callback |
Display metrics changes | Display added, removed, or modified notifications, with the new display metrics values | Set enabledBreadcrumbTypes or modify/discard the breadcrumb in an onBreadcrumb callback |
Power state | Device suspend, resume, lock, and power source type change notifications | Set enabledBreadcrumbTypes or modify/discard the breadcrumb in an onBreadcrumb callback |
User interactions | The selector of the element which was clicked and its text value | Set enabledBreadcrumbTypes or modify/discard the breadcrumb in an onBreadcrumb callback |
Navigation | The URL, page title and history state when browser navigation occurs | Set enabledBreadcrumbTypes or modify/discard the breadcrumb in an onBreadcrumb callback |
Network requests | The URL requested and the status code returned | Set enabledBreadcrumbTypes or modify/discard the breadcrumb in an onBreadcrumb callback |
Information about the device can be useful to identify if an error is only occurring on some devices.
Data | Default value | Preventing collection |
---|---|---|
id |
A generated anonymous ID | Modify device.id in a callback |
idleTime |
The length of time since the last interaction with the app | Modify metadata.device in a callback |
isLocked |
A boolean value denoting whether the device was locked at the time of the error | Modify metadata.device.isLocked in a callback |
locale |
The locale of the current system | Modify device.locale in a callback |
online |
A boolean value denoting if the system has Internet access | Modify metadata.device.online in a callback |
osName and osVersion |
The name and version of the running operating system | Modify device.osName and device.osVersion in a callback |
runtimeVersions |
The Electron, Chrome, and Node.js versions from process.versions |
Modify device.runtimeVersions in a callback |
screenDensity and screenResolution |
The dimensions of the screen of the focused window at the time of the error | Modify metadata.device.screenDensity and metadata.device.screenResolution in a callback |
time |
The time on the system clock at the time of the error | Modify device.time in a callback |
totalMemory and freeMemory |
The total amount of memory available in the JavaScript engine and the amount that was free at the time of the error, as reported by process.getSystemMemoryInfo() |
Modify device in a callback |
usingBattery |
A boolean value denoting if the system is using battery power | Modify metadata.device.totalMemory and metadata.device.freeMemory in a callback |
Modifying error information may affect error grouping.
Data | Default value | Preventing collection |
---|---|---|
Context | The path to the file loaded in the window or current URL | Modify context in a callback |
Error class | The class of the error that occurred | Modify errors[].errorClass in a callback |
Error message | The message of the error that occurred | Modify errors[].errorMessage in a callback |
Inline script content | The contents of an inline script where an error occurred | Modify metadata.script in a callback |
Stack trace | The URL of the file where the error occurred, method and line number | Modify errors[].stacktrace in a callback |
Details about the Electron process in which the error was captured.
Data | Default value | Preventing collection |
---|---|---|
heapStatistics |
V8 heap statistics, including total size and allocated memory | Modify metadata.process.heapStatistics in a callback |
isMainFrame |
A boolean value denoting if the error occurred in the main renderer context (renderer processes only) | Modify metadata.process.isMainFrame in a callback |
sandboxed |
A boolean value denoting if the current window or process is sandboxed (renderer processes only) | Modify metadata.process.sandboxed in a callback |
type |
The Electron process type, from browser (main process), renderer , or worker |
Modify metadata.process.type in a callback |
User information is used to show you which errors are impacting the most users. Set your own user identifiers if you want to be able to find errors affecting individual users.
Data | Default value | Preventing collection |
---|---|---|
id |
A generated anonymous ID | Set an explicit user ID or modify user.id in a callback |