Epure
SDK

Error tracking that keeps the official Sentry SDK

If `@sentry/browser`, `@sentry/nextjs`, or `sentry-python` already ships, the first move is a new host. GlitchTip, Bugsink, Telebugs, Better Stack Errors, and Epure accept a DSN swap. Honeybadger does not. Compatible here means envelope ingest, not full Sentry protocol parity.

On this pageShow
  1. Who keeps the SDK
  2. Sourcemaps
  3. Scoreboard
  4. After the DSN, the split is ops
  5. Questions

Searchers for “keep sentry sdk change dsn” already have the client. Sentry.init stays. You paste a new dsn. Lite backends discard or ignore transactions and skip replay ingest. Leave tracesSampleRate, replaysSessionSampleRate, and profilesSampleRate at 0 so you do not ship volume nobody stores.

Epure speaks envelope plus legacy store. Transactions are discarded. Replay and profiling items are ignored. JS/TS sourcemaps only. Language fixtures exist for Go, Ruby, PHP, Java, and .NET; that is not CI-proven parse for every SDK version. Sentry 8.x+ is not CI-proven on Epure. Platform init: integrations.

Who keeps the SDK

DSN swap

  • Sentry: native. Stay if replay or APM is the product.
  • GlitchTip: MIT, about four services, 512 MB recommended. Years on this wire.
  • Bugsink: one Django container, SQLite-first, Polyform Shield.
  • Telebugs: $299 appliance, Rails + SQLite, 1 GB documented minimum.
  • Better Stack Errors: hosted DSN built from application token, ingest host, and application id (their public Errors docs). No self-host error box. Flutter obfuscated symbols are not uploaded yet.
  • Epure: Apache 2.0, two containers (Rust + PostgreSQL 16), ~82 MiB idle measured 2026-09-12 on Docker Desktop. Cloud Pro $24 coming, not live.

Own SDK

Honeybadger posts to https://api.honeybadger.io/v1/notices with X-API-Key. Changing SENTRY_DSN to a Honeybadger URL will not land issues. This row exists so that query does not get a false yes. Flat SaaS around $26/mo. No self-host.

Sourcemaps

Epure accepts @sentry/cli release file uploads for JS/TS. Point the CLI at the Epure origin (same DSN host) and upload: sentry-cli releases files "$VERSION" upload-sourcemaps ./dist. Minified frames demangle when the event’s release matches. Python, Go, Ruby, PHP, Java, and .NET group on the frames the SDK sent. Sentry still wins native symbols. Guide: Source maps.

Scoreboard

Compatible means envelope or store ingest. Nobody on this page is 100% of Sentry’s protocol.

SDK path

Sentry
Native
GlitchTip
DSN swap
Bugsink
DSN swap
Telebugs
DSN swap
Better Stack
DSN swap (hosted)
Honeybadger
No · own SDK
Epure
DSN swap

Sourcemaps

Sentry
JS maps + native symbols
GlitchTip
Sentry-style artifacts
Bugsink
Sentry-style maps
Telebugs
See their docs
Better Stack
SDK frames; no Flutter symbols yet
Honeybadger
Own uploader
Epure
JS/TS maps · other langs raw frames

Dropped / unused

Sentry
Ingests replay, traces, profiles
GlitchTip
Lite clone · not Sentry replay
Bugsink
Exception-focused
Telebugs
Exception-focused
Better Stack
Errors DSN · their examples sample traces
Honeybadger
Sentry envelope unused
Epure
Transactions discarded · no replay ingest

License

Sentry
Cloud proprietary · FSL self-host
GlitchTip
MIT
Bugsink
Polyform Shield
Telebugs
$299 appliance
Better Stack
Proprietary SaaS
Honeybadger
Proprietary SaaS
Epure
Apache 2.0

Footprint

Sentry
20+ containers · 16-32 GB
GlitchTip
~4 services · 512 MB rec
Bugsink
1 container · SQLite
Telebugs
1 container · 1 GB min
Better Stack
Hosted
Honeybadger
Hosted
Epure
2 containers · ~82 MiB idle
DimensionSentryGlitchTipBugsinkTelebugsBetter StackHoneybadgerEpure
SDK pathNativeDSN swapDSN swapDSN swapDSN swap (hosted)No · own SDKDSN swap
SourcemapsJS maps + native symbolsSentry-style artifactsSentry-style mapsSee their docsSDK frames; no Flutter symbols yetOwn uploaderJS/TS maps · other langs raw frames
Dropped / unusedIngests replay, traces, profilesLite clone · not Sentry replayException-focusedException-focusedErrors DSN · their examples sample tracesSentry envelope unusedTransactions discarded · no replay ingest
LicenseCloud proprietary · FSL self-hostMITPolyform Shield$299 applianceProprietary SaaSProprietary SaaSApache 2.0
Footprint20+ containers · 16-32 GB~4 services · 512 MB rec1 container · SQLite1 container · 1 GB minHostedHosted2 containers · ~82 MiB idle

Public docs as of 2026-09 (Sentry self-host, GlitchTip install, Bugsink, Telebugs, Better Stack Errors Sentry SDK, Honeybadger notices API). Epure idle RAM measured 2026-09-12 on Docker Desktop.

After the DSN, the split is ops

License is the first fork: MIT (GlitchTip), Apache 2.0 (Epure), Polyform Shield (Bugsink), paid binary (Telebugs), hosted SaaS (Better Stack, Honeybadger, Sentry Cloud). Compose versus hosted is the second: Sentry self-host 20+ containers, GlitchTip about four, Bugsink and Telebugs one, Epure two (app + Postgres), Better Stack a hosted DSN.

Pick Epure if

  • Leave @sentry/browser, @sentry/nextjs, or sentry-python in place.
  • JS/TS maps via @sentry/cli are enough; other languages can live on raw frames.
  • You will set traces, replay, and profile sample rates to 0.
  • You want Postgres 16 with RLS, not SQLite as the primary store.

Pick another tool if

  • Session replay or distributed tracing is how you debug: stay on Sentry.
  • Counsel requires MIT: GlitchTip.
  • One SQLite container is the ops model: Bugsink.
  • You want $299 once plus vendor email: Telebugs. Honeybadger if you will replace the SDK. Better Stack if you want a hosted Errors DSN.

Roster: Sentry alternatives. Clone: GitHub.

FAQ

Questions

Do I change code or only DSN?
Only the DSN, if you already run an official Sentry SDK. Leave @sentry/browser, @sentry/nextjs, @sentry/node, or sentry-python installed. Paste the new host from Integrations. Honeybadger is the exception: you rewrite. Platform init: docs platforms.
What should tracesSampleRate be?
Set tracesSampleRate to 0 on lite backends (plus replaysSessionSampleRate and profilesSampleRate, or traces_sample_rate / profiles_sample_rate in sentry-python). Epure discards transactions and does not ingest replay. Shipping sample rate 1.0 only burns client CPU and bandwidth. Better Stack’s public examples set tracesSampleRate to 1.0 because their Errors product documents that knob; read their ingest tab before you copy it onto Epure.
Do sourcemaps work with @sentry/cli?
Yes on Epure for JS/TS. Point @sentry/cli at the Epure origin (same DSN host) and upload release files. Minified frames demangle when the event’s release matches. Python and the other language SDKs have no map pipeline here; grouping uses raw frames. Guide: Source maps.
Is Epure 100% Sentry compatible?
No. Epure speaks envelope plus legacy store. Transactions are discarded. Replay and profiling items are ignored. JS/TS sourcemaps only. Language fixtures exist for Go, Ruby, PHP, Java, and .NET; do not read that as CI-proven parse for every SDK version. Sentry 8.x+ is not CI-proven on Epure. Compare Epure vs Sentry.
Who should not bother with a DSN swap?
Anyone whose daily debug loop is session replay, profiling flamegraphs, or full transaction APM. Stay on Sentry Cloud (or Sentry self-host if you already run the flotilla). A lite host will 202 the envelope and drop those item types.
Does Better Stack keep the Sentry SDK?
Yes, per their Errors docs: copy application token and ingesting host, then set dsn to https://token@host/application_id. That is a hosted DSN swap, not a two-container self-host. Self-host Epure if the store has to live on your Postgres.