Switching from Sentry

Rezee's ingest speaks the protocol Sentry's SDKs send, so an app already instrumented with one sends to Rezee once its DSN is a Rezee source's.

Change the DSN

Copy a key's DSN from Settings → Signals and set it where your SDK reads its DSN. Nothing else changes:

Sentry.init({
  dsn: "https://rzi_…@ingest.rezee.app/1042",
  release: "web@1.4.2",
  tracesSampleRate: 0.1,
});

What is kept

  • Errors and messages, grouped into issues.
  • Transactions, as traces in Signals → Performance.
  • Log items, as lines in Signals → Logs.

Session replays, profiles, attachments, cron check-ins, user feedback items and standalone spans are not kept. Each is counted by kind on the source in Settings → Signals, so nothing goes missing without a trace. Client reports and session updates are ignored.

Source maps with sentry-cli

sentry-cli sourcemaps upload works against Rezee (checked with sentry-cli 2.52). Point it at Rezee's API, use the workspace's slug as the organization, the number at the end of the DSN as the project, and a Rezee personal token as the auth token:

SENTRY_URL=https://api.rezee.app \
SENTRY_AUTH_TOKEN=reze_pat_… \
  sentry-cli sourcemaps upload --org acme --project 1042 \
  --release web@1.4.2 ./dist

See source maps for what is stored and Rezee's own command.

At the limit

Past a workspace's monthly error quota, one error in ten is kept for a little while, then none. Once none are being kept, Rezee answers 429 with the Retry-After and X-Sentry-Rate-Limits headers Sentry's SDKs understand, and they stop sending for a minute rather than retrying. A key over its rate per minute is answered the same way.