Τεκμηρίωση

Το OpenErrorAPI μιλάει το πρωτόκολλο επικοινωνίας Sentry, οπότε κρατάς το επίσημο SDK που ήδη χρησιμοποιείς και αλλάζεις μία γραμμή: το DSN. Αυτή η σελίδα λέει πώς, και — εξίσου σημαντικό — τι δεν υποστηρίζουμε.

Αλλαγή από Sentry σε 10 λεπτά

Δεν χρειάζεται να αντικαταστήσεις SDK ούτε να ξαναγράψεις κώδικα. Απλά δείχνεις το SDK που ήδη χρησιμοποιείς σε διαφορετικό DSN.

  1. 1

    Δημιούργησε ένα project στην κονσόλα. Παίρνεις ένα DSN της μορφής https://PUBLIC_KEY@openerrorapi.com/PROJECT_ID.

  2. 2

    Αντικατέστησε το DSN στο υπάρχον Sentry.init() — συνήθως μία environment variable. Κράτησε το SDK, την έκδοση και κάθε option που ήδη έχεις ορίσει.

  3. 3

    Κάνε deploy και προκάλεσε ένα error. Θα εμφανιστεί στην κονσόλα μέσα σε ένα δευτερόλεπτο, ομαδοποιημένο όπως ήταν στο 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');

Ανεβάζεις ήδη source maps με sentry-cli; Κράτησε και αυτό το βήμα — όρισε SENTRY_URL σε https://openerrorapi.com και χρησιμοποίησε ένα upload token ως SENTRY_AUTH_TOKEN.

Συμβατότητα με Sentry, ειλικρινά

Η συμβατότητα είναι ολόκληρη η υπόσχεση, γι' αυτό είναι και το πιο επικίνδυνο πράγμα να την υπερβάλλουμε. Αυτός ο πίνακας δημιουργείται από την ίδια πηγή που χρησιμοποιούν ο κώδικας και η machine-readable τεκμηρίωσή μας, οπότε δεν μπορεί να αποκλίνει αθόρυβα από την πραγματικότητα.

7 περιοχές πλήρως υποστηριζόμενες · 3 μερικώς · 3 μη υποστηριζόμενες.

Περιοχή Κατάσταση Λεπτομέρεια
Envelope ingest (/api/{id}/envelope/) Υποστηρίζεται 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/) Υποστηρίζεται Legacy endpoint for older SDKs. Same processing pipeline as envelopes.
Error events & grouping Υποστηρίζεται Exceptions, messages, stack traces, tags, user, contexts, breadcrumbs, request. Grouping by fingerprint with an explicit `fingerprint[]` override.
Sessions / release health Υποστηρίζεται Session envelope items are processed; crash-free sessions and users are shown per release. Available from the Team plan.
Security reports (CSP) Υποστηρίζεται 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 Υποστηρίζεται 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 Μερικώς 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 Υποστηρίζεται Embeddable widget; reports land next to the errors they belong to.
Transactions / performance Μερικώς 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) Δεν υποστηρίζεται Not processed yet. Log items are ignored, which does not affect error reporting from the same SDK.
Cron monitors (check_in items) Μερικώς 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 Δεν υποστηρίζεται Deliberately out of scope. These are the reasons to stay on Sentry; we do not pretend otherwise.
Native symbolication (dSYM / ProGuard) Δεν υποστηρίζεται Not supported. Native mobile crashes arrive, but stay unsymbolicated.

Περαιτέρω