
Sentry Electron SDK
https://github.com/getsentry/sentry-electron- Category
- Developer Tools
- Rank
- No. 410Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- getsentry
- GitHub
- 259 stars
- Latest release
- 7.18.0
- Date
About
Official Sentry SDK for Electron — automatic crash reporting and performance monitoring for desktop apps.
What it does
It joins Electron’s separate execution environments into one reporting pipeline. Node-side failures, browser-side errors, native minidumps, scope changes, breadcrumbs, logs, metrics, profiles, and replay envelopes move through the main process, which enriches and forwards them.
Why it's ranked here
A strong choice for Electron teams already using Sentry. The package handles the awkward boundary between main, renderer, utility, and native failure paths, while preserving attachments and shared context. Its strict startup requirements and reliance on OpenTelemetry make adoption more involved than adding a single browser library.
What's good
The process model is explicit, with separate entry points for main, renderer, preload, utility, and native use. Renderer events gain main-process release, environment, device, and process context before transport. IPC can use Electron messaging, a custom protocol, or both for compatibility. Unit and end-to-end test commands cover the package.
Tradeoffs
Electron 23 is the minimum. Setup must happen early in every relevant process, and main-process configuration must precede the application-ready event. Exported reporting operations do nothing before initialization. OpenTelemetry remains required, even when automatic setup is disabled. Early logs may miss asynchronously collected operating-system and device attributes.
How to use it well
Use it in Electron applications that need one Sentry pipeline across main, renderer, utility, and native crash paths. Initialize each process at its entry point, keep the default dual IPC mode unless constraints dictate otherwise, and treat screenshots as sensitive opt-in data. It does not support older Electron applications or remove manual OpenTelemetry responsibility when automatic setup is skipped.
Technical notes+
package.json publishes @sentry/electron with CommonJS and ESM targets, declarations, and explicit ./main, ./renderer, ./preload, ./preload-namespaced, ./utility, and ./native exports. src/index.ts deliberately throws on the undifferentiated root import. src/main/sdk.ts enforces Electron 23, defaults ipcMode to IPCMode.Both, configures an offline transport, initializes a NodeClient, and sets up OpenTelemetry unless skipOpenTelemetrySetup is selected. src/main/ipc.ts parses renderer envelopes, merges scope data, attaches process attributes, normalizes profiles and replays, and forwards logs and metrics. src/common/ipc.ts defines classic IPC and protocol transport modes. src/main/log.ts caches asynchronously derived OS and device attributes, so initial logs can lack them.
Observed
- License
- MIT
- Primary language
- TypeScript source compiled with Rollup
- Package
- Public npm package named @sentry/electron
- Interface
- Library SDK with separate main, renderer, preload, utility, and native entry points
- Module formats
- CommonJS and ESM builds with TypeScript declarations
- Platform support
- Electron 23 or higher
- Testing structure
- Package scripts define Vitest unit and end-to-end test suites
Read from README.md, package.json, src/index.ts, src/main/ipc.ts, src/main/log.ts, src/main/sdk.ts, src/main/index.ts, src/common/ipc.ts, src/main/merge.ts, src/main/mutex.ts, src/main/store.ts, src/utility/sdk.ts, src/native/index.ts, src/common/scope.ts, src/main/context.ts.
What it can do
Automatically capture and report application crashes
Electron desktop application with Sentry SDK integrated → Crash reports with stack traces and error details
Monitor application performance metrics
Running Electron application → Performance data including response times and resource usage
Track JavaScript errors and exceptions
JavaScript code execution in Electron app → Error events with context and debugging information
Capture user interactions and breadcrumbs
User actions within the Electron application → Event timeline showing user behavior leading to issues
Send telemetry data to Sentry dashboard
Application events, errors, and performance metrics → Structured data transmitted to Sentry monitoring platform
Filter and sample error reports
Configuration rules and error events → Filtered subset of relevant error reports
Tags
Tech Stack
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.