Docs > Platform Observability > Getting Started with Error Tracking
Getting Started with Error Tracking
Overview
This guide introduces AppStatus Error Tracking and covers:
- Automatic exception capture from your application SDK
- Grouping by stack shape, so one fault is one issue
- Release attribution — which deploy introduced it
- A plain-language explanation with a suggested fix
- Triage workflow: assign, resolve, and catch regressions
What is Error Tracking in AppStatus?
Every exception your services raise is fingerprinted by the shape of its stack trace. The same fault raised a thousand times becomes one issue with a count of a thousand, instead of a thousand separate rows to read.
Each issue carries its first and last occurrence, the services affected, the trace that produced it, and an explanation of what went wrong written in plain language, with a stated confidence level and a suggested fix.
Key capabilities:
- Server-side grouping — the same error groups identically regardless of which client reported it
- Release and environment attribution on every issue
- One-click path from an issue to the trace, logs and deploy around it
- Regression detection — a resolved issue that returns re-opens visibly
- Feedback control on every explanation, changeable at any time
What you will see
What the issue list looks like
Scroll the table sideways to see every column.
Sort by Users, not Events — a loud background job can outrank a checkout failure.
Troubleshooting
The same error shows up as many separate issues
This usually means the stack trace differs on each throw — commonly because a unique ID or timestamp is embedded in the message. Move variable data into structured context instead of the message string.
Issues are not attributed to a release
Set the release or version in the SDK configuration on every deploy. Without it, issues cannot be tied to the change that introduced them and regressions are harder to spot.
A resolved issue keeps coming back
That is a regression, and it is meant to be visible. Check the release on the new occurrences — if it matches a deploy after the fix, the fix did not cover every path.
Operational Guidance
- Sort by users affected, not raw count — one loud background job can outrank a checkout failure.
- A resolved issue that reappears is a regression; treat it as new work, not noise.
- The explanation is a starting point with a stated confidence level — always confirm against the trace before shipping a fix.
- Rate the explanation with the thumbs control; that feedback is per user and can be changed.
Step-by-Step Setup
Error tracking needs one key and one SDK. After that, exceptions are captured without you wrapping anything by hand, and the work becomes triage rather than collection.
Before you start
- An application with an error path you can trigger deliberately
- 1
Create an ingest key scoped to errors
Open Ingest Keys and create a key scoped to errors for the environment you are setting up. The key value is shown once — copy it into your secret manager now, not into source control.
WhereIngest Keys → Create keyTipOne scope per key. A key reused across signals turns a single leak into full ingest access.
- 2
Install the SDK
Add the SDK for your language. Unhandled exceptions are captured automatically once it is initialised; you only call it explicitly for errors you catch and want reported anyway.
WhereError Tracking → Add service - 3
Set the release on every deploy
Pass your commit SHA or build number as the release. This is what attributes an issue to the deploy that introduced it, and what makes a regression obvious later.
WhereSDK configuration / CI environment variableTipSkip this and you can still see errors — you just cannot tell which change caused them.
- 4
Trigger a test error
Raise an exception deliberately and confirm it appears as an issue with the right service, environment and release attached.
WhereError Tracking → Issues - 5
Assign owners
Set the owning team per service so new issues route to whoever can fix them, instead of arriving in a shared list nobody feels responsible for.
WhereInsights → Service ownership
Configuration Options
Every option you can set, what each choice means, and what to pick. Use this as a reference while you fill in the form.
Triage states
| Field | Options | What it does | Recommended |
|---|---|---|---|
| Unresolved | Default for new issues | Issue is active and uninvestigated. | Work these by users affected, not event count. |
| Investigating | Set manually | Signals someone has picked it up. | Set it so two people do not debug the same issue. |
| Resolved | Set on deploy | Closes the issue; a return re-opens it. | Resolve on deploy so regressions surface loudly. |
| Ignored | Set manually | Suppresses a known, accepted error. | Use sparingly and revisit — ignored is not fixed. |
Feature Reference
Every feature, where to find it in the app, and what it does. Use this when you know what you want to do but not where it lives.
| Feature | Where in app | Description |
|---|---|---|
| Grouped issues | Error Tracking → Issues | One fault is one issue, however many times it fired. |
| AI explanation | Issue detail | Plain-language cause and suggested fix, with a stated confidence level. |
| Linked trace | Issue detail → Trace | The exact request that produced the error. |
| Regression detection | Issue detail | A resolved issue that returns re-opens visibly. |
Next Steps
Continue building your monitoring stack:
