Documentație

OpenErrorAPI folosește protocolul Sentry, deci păstrezi SDK-ul oficial pe care îl folosești deja și schimbi o singură linie: DSN-ul. Această pagină explică cum și, la fel de important, ce nu suportăm.

Treci de la Sentry în 10 minute

Nu există SDK de înlocuit și niciun cod de rescris. Direcționezi SDK-ul pe care îl ai deja către un DSN diferit.

  1. 1

    Creează un proiect în consolă. Primești un DSN de forma https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID.

  2. 2

    Înlocuiește DSN-ul în Sentry.init() existent — de obicei o singură variabilă de mediu. Păstrează SDK-ul, versiunea și fiecare opțiune pe care ai setat-o deja.

  3. 3

    Fă deploy și declanșează o eroare. Apare în consolă într-o secundă, grupată așa cum era în Sentry.

PHP

composer require sentry/sentry
\Sentry\init(['dsn' => 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID']);

JavaScript / TypeScript

npm i @sentry/browser
Sentry.init({ dsn: 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID' });

Node.js

npm i @sentry/node
Sentry.init({ dsn: 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID' });

Python

pip install sentry-sdk
sentry_sdk.init(dsn="https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID")

Go

go get github.com/getsentry/sentry-go
sentry.Init(sentry.ClientOptions{Dsn: "https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID"})

Dart / Flutter

flutter pub add sentry_flutter
await SentryFlutter.init((o) => o.dsn = 'https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID');

Încarci deja source maps cu sentry-cli? Păstrează și pasul acela — setează SENTRY_URL la https://openerrorapi.com și folosește un token de upload ca SENTRY_AUTH_TOKEN.

Compatibilitate Sentry, sincer

Compatibilitatea este întreaga promisiune, ceea ce o face cel mai periculos lucru de exagerat. Acest tabel este generat din aceeași sursă pe care o folosesc codul și documentația noastră machine-readable, deci nu poate devia tăcut de la realitate.

7 zone complet suportate · 3 parțial · 3 nesuportate.

Zonă Status Detaliu
Envelope ingest (/api/{id}/envelope/) Suportat The modern endpoint every current SDK uses. Gzip/deflate bodies, multiple items per envelope, all three auth methods (X-Sentry-Auth header, querystring, envelope dsn header).
Store ingest (/api/{id}/store/) Suportat Legacy endpoint for older SDKs. Same processing pipeline as envelopes.
Error events & grouping Suportat Exceptions, messages, stack traces, tags, user, contexts, breadcrumbs, request. Grouping by fingerprint with an explicit `fingerprint[]` override.
Sessions / release health Suportat Session envelope items are processed; crash-free sessions and users are shown per release. Available from the Team plan.
Security reports (CSP) Suportat CSP violation reports are stored and grouped like any other issue. Point report-uri at /api/{project_id}/security/?sentry_key={PUBLIC_KEY} — the browser cannot send headers, so the key goes in the URL. Both the classic csp-report body and the Reporting API array are accepted.
Source maps Suportat Upload via our API, from the console, or with sentry-cli. Frames are de-minified on read, so uploading a map fixes old events too.
sentry-cli Parțial Releases (new / finalize / set-commits) and source-map upload work unchanged. Chunked upload is not implemented — sentry-cli detects that and falls back to the regular upload automatically.
User feedback widget Suportat Embeddable widget; reports land next to the errors they belong to.
Transactions / performance Parțial Transaction envelope items are accepted so SDKs do not error, but we do not build a performance product on top of them. If you need distributed tracing, keep Sentry — we are an error tracker.
Logs (log envelope items) Nesuportat Not processed yet. Log items are ignored, which does not affect error reporting from the same SDK.
Cron monitors (check_in items) Parțial We have our own cron/heartbeat monitoring in the console, but the Sentry `check_in` envelope item is not wired to it yet.
Profiling, session replay Nesuportat Deliberately out of scope. These are the reasons to stay on Sentry; we do not pretend otherwise.
Native symbolication (dSYM / ProGuard) Nesuportat Not supported. Native mobile crashes arrive, but stay unsymbolicated.

Mai departe