docs · by hand · migrate from sentry
Keep your Sentry SDK. Change one line.
A Sentry SDK in any language can point its DSN at Vinktar. Its errors and captured messages go through the same pipeline as our own SDKs. It is the way to try Vinktar today; the native SDK is where you end up.
what is dropped
Errors and captured messages are stored. Transactions, sessions, replays, profiles, attachments and client reports are accepted and dropped, so the SDK logs no failures. If you rely on Sentry for tracing or replay, keep it for those.
the identity join
Without Sentry.setUser({ id }) a browser error arrives anonymous and joins to no person. Send the same id your analytics uses, and the error and the person are one record.
The DSN
SENTRY_DSN=https://abc123@o12345.ingest.sentry.io/451
SENTRY_DSN=https://vnk_pk_YOUR_KEY@in.vinktar.com/YOUR_PROJECT_ID
The key is the project's public write key. The finished DSN, with the project id filled in, is on the project's Connect page under Manual, and your agent gets it from get_project_keys.
Limits and responses
The endpoint accepts Sentry's envelope protocol and the legacy store endpoint. The error rate limit, the monthly error budget and every per-error cap are the ones /v1/errors applies, and an error sent this way counts against the same budget. Over a limit the answer is 429 with Retry-After. The details are section 11 of api.md.
Source maps
Source maps do not travel over the DSN, and an upload made with Sentry's own tooling still goes to Sentry. To read minified browser stacks here, upload the maps with @vinktarhq/cli under the same release name your Sentry SDK reports.
Then the native SDK
The DSN carries errors only. Product analytics, and errors joined to the same visitor's events without a setUser call, need the Vinktar SDK, which sends both on one key. Your agent can install it.