
Sentry SDK for Elixir
https://github.com/getsentry/sentry-elixir- Category
- Developer Tools
- Rank
- No. 369Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- getsentry
- GitHub
- 694 stars
- Latest release
- 13.5.1
- Date
About
Official Sentry SDK for Elixir. Crash reporting and performance monitoring for Phoenix and OTP apps.
What it does
It captures application failures, explicit messages, and structured logs, then sends them to Sentry. A logger handler can attach automatically, while manual configuration exposes metadata selection, rate limiting, and separate thresholds for logs and error events. Optional integrations cover Plug, Phoenix, LiveView, job processing, scheduled work, and distributed tracing.
Why it's ranked here
This is a strong default when an Elixir service already uses Sentry. It combines automatic crash capture, manual reporting, structured logging, source context, and tracing hooks in one package. Its extensive unit and multi-project integration test structure also suggests serious attention to framework behavior and compatibility.
What's good
The logger path handles crashes and structured logs without requiring application startup changes. Teams can still configure the handler manually for metadata, event thresholds, tags, and rate limits. HTTP and JSON choices remain configurable, while optional dependencies keep Phoenix, LiveView, Plug, Telemetry, and OpenTelemetry support from becoming universal requirements.
Tradeoffs
The package does not install its JSON library or HTTP client, so setup requires choosing and adding compatible dependencies. Older Elixir releases need a different JSON default and dependency guidance. Configuration changes in tests are global, which prevents asynchronous execution unless isolation and cleanup are handled carefully. Some integrations also require optional packages.
How to use it well
Use it in Elixir services that send operational data to Sentry, especially Phoenix, Plug, LiveView, Oban, Quantum, or OpenTelemetry systems. Start with automatic logger attachment, add selected metadata, then verify delivery with the included Mix task. Use synchronous delivery and a local HTTP bypass for tests. It does not provide the Sentry service or replace application logging design.
Technical notes+
README.md documents automatic Sentry.LoggerHandler attachment through enable_logs, manual handler configuration, Sentry.capture_exception/2, Sentry.capture_message/2, and the mix sentry.send_test_event task. mix.exs defines an OTP application using Sentry.Application, requires Elixir ~> 1.13, packages lib, and declares NimbleOptions plus optional Finch, Hackney, Jason, Phoenix, Phoenix LiveView, Plug, Telemetry, and OpenTelemetry dependencies. AGENTS.md describes a supervised pipeline of category-specific ring buffers, weighted scheduling, a bounded FIFO queue, rate limiting, and sender workers. It also documents ExUnit coverage under test/ and standalone projects under test_integrations/, including Phoenix, umbrella, legacy OpenTelemetry, and tracing cases.
Observed
- License
- MIT License
- Primary language
- Elixir
- Packaging
- Hex package installed as a Mix dependency
- Interface
- Elixir library with an Erlang logger handler and Mix tasks
- Framework support
- Optional integrations for Plug, Phoenix, Phoenix LiveView, Telemetry, and OpenTelemetry
- HTTP clients
- Finch and Hackney are optional, pluggable HTTP dependencies
- Test structure
- ExUnit tests plus standalone umbrella, Phoenix, legacy OpenTelemetry, and tracing integration projects
Read from README.md, mix.exs, test_integrations/phoenix_app/assets/js/app.js, test_integrations/tracing/svelte_mini/src/main.js, LICENSE, mix.lock, AGENTS.md, CLAUDE.md, .craft.yml, CHANGELOG.md, mix-1.18.lock, .formatter.exs, coveralls.json, CONTRIBUTING.md, ISSUE_TEMPLATE.md.
What it can do
Capture and report application crashes
Runtime exceptions and errors in Elixir/Phoenix applications → Crash reports with stack traces and context data sent to Sentry
Monitor application performance metrics
Transaction traces and timing data from Elixir/Phoenix apps → Performance monitoring data and metrics in Sentry dashboard
Track custom events and breadcrumbs
Custom application events and user interactions → Event logs and breadcrumb trails for debugging context
Monitor OTP process crashes
GenServer, Agent, and other OTP process failures → Process crash reports with supervisor tree context
Capture release and environment metadata
Application deployment information and environment variables → Release tracking and environment context attached to error reports
Filter and sample error reports
Error filtering rules and sampling configuration → Reduced noise through selective error reporting based on criteria
Tags
Tech Stack
Media

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