Vibeleaderboard
Index / tool
Visit sentry.io
Category
Developer Tools
Rank
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 integratedCrash reports with stack traces and error details

  • Monitor application performance metrics

    Running Electron applicationPerformance data including response times and resource usage

  • Track JavaScript errors and exceptions

    JavaScript code execution in Electron appError events with context and debugging information

  • Capture user interactions and breadcrumbs

    User actions within the Electron applicationEvent timeline showing user behavior leading to issues

  • Send telemetry data to Sentry dashboard

    Application events, errors, and performance metricsStructured data transmitted to Sentry monitoring platform

  • Filter and sample error reports

    Configuration rules and error eventsFiltered subset of relevant error reports

Tags

Sentrydesktopcrash-reportingsdksentryelectronMonitoring & APM

Tech Stack

Node.jsTypeScript

Media

Sentry Electron SDK

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.