Issue Tracking
Group, triage, and resolve errors with automatic issue management.
How issues work
When Moneat receives an error event, it generates a fingerprint and groups the event with other events that share the same fingerprint. This group is called an issue. Each issue tracks occurrences, affected users, first and last seen timestamps, source metadata, and event history.
Issue lifecycle
Issues move through the following states as your team triages and resolves them:
| Status | Description |
|---|---|
| Unresolved | The issue is active and appears in the default issue view. An issue that reopened after a resolution is marked Regressed. |
| Resolved | The underlying problem has been fixed. A new occurrence reopens it; see Regressions. |
| Ignored | The issue has been intentionally ignored and is excluded from the default active view. |
| Next release | The fix ships in your next release. Moneat resolves the issue when a newer release appears; see Resolve in next release. |
Issue details
Clicking an issue in the dashboard opens the detail view, which includes:
- Stack trace - Full exception stack trace with source context when available
- Breadcrumbs - Timeline of events leading up to the error
- Tags - Filterable metadata such as environment, browser, OS, and source
- User impact - Number of unique users affected
- Event history - Timeline of occurrences with frequency chart
- Device & browser - Client environment information when provided
Filtering & search
The issues list supports filtering options to help you focus on what matters:
- Status - Filter by unresolved, resolved, ignored, or next release
- Service - Show issues from specific services
- Time range - Filter by when issues were first or last seen
- Sort - Sort by last seen, first seen, event count, or user count
Regressions
When a resolved issue occurs again, Moneat reopens it, marks it Regressed, and raises its error alert again, so the routes and workflows that handle new issues hear about it.
- Resolved by hand - an event that happened after you resolved the issue reopens it.
- Resolved in a release - an event from that release or a newer one reopens it. Events from older builds that are still in use leave it resolved.
Resolve in next release
Use Resolve in next release when the fix ships with your next deploy. Moneat records the project's latest release at that moment and resolves the issue in the first newer release, whether your release tooling creates it or an incoming event reports it.
Moneat orders releases this way:
- Versions that follow semantic versioning, such as
1.4.0,[email protected], or3.1.0+120, compare by version, so an older version reporting for the first time, such as a mobile build that is still in use, does not resolve the issue. A numeric build after+orders builds of the same version. - Other release names, such as commit SHAs, compare by when Moneat first saw them, so any release Moneat sees for the first time counts as newer.