Okapi

Issues & logs

Grouping (fingerprinting)

Every incoming event is grouped into an issue by a computed fingerprint, in this order of precedence:

  1. Explicit fingerprint — if the event carries a fingerprint, Okapi uses it directly (the standard Sentry SDK mechanism for manual grouping control).
  2. Exception type + stacktrace hash — otherwise, the exception type plus a hash of the in-app stacktrace frames (frames from your own code, not library/vendor frames).
  3. Message — if there's no exception at all (a log-style event), the message text.

Events that fingerprint the same way collapse into one issue with a short id like OKAPI-1, OKAPI-2, and so on — bumping times_seen/last_seen on every repeat rather than creating a new row.

Issue lifecycle

An issue can be:

  • Resolved — marked fixed.
  • Unresolved — the default state, or a manual reversal of resolved/ignored.
  • Ignored — silenced without being marked fixed.
  • Snoozed — silenced for a set period; automatically reverts to unresolved when the snooze expires.
  • Deleted — removed entirely.

Every action works on a single issue or in bulk — bulk actions accept either an explicit list of issue ids or a "select all matching the current filter" mode. You can also copy any event's raw payload as JSON from the issue view.

Regressions. If a resolved issue's fingerprint sees a new event, it reopens and is flagged as a regression — distinct from an issue that was simply never resolved.

Structured logs

Okapi collects structured logs over the same DSN as errors — enable your SDK's logging feature and logs flow in automatically (see SDK setup). Logs carry structured attributes stored as JSONB and indexed with a GIN index, so attribute search stays fast even at volume.

View and search logs under a project's Logs tab: filter by level, time range, message text, and attribute key:value. Logs are pruned per OKAPI_LOG_RETENTION_DAYS (default 30, per-organization entitlement overrides the instance default). Okapi's MCP server (/mcp) also exposes a search_logs tool for AI agents — see MCP & agents.

Releases and regressions

Okapi tracks the first-seen release for each issue when your SDK reports a release on its events. Combined with the regression flag above, this gives you a straightforward story: "first seen in release X, resolved, came back in release Y."

Next: Alerts to get notified when any of this happens.