☰ Docs menu · Alert rules
Alert Rules
Your own alerts on errors, latency and logs: a threshold, a window and the channels to tell. Includes Issue seen, which tells you about every new event of an error you care about, at once.
A number Trace checks every minute (new issues, p95 latency, matching log lines…) with a threshold. When it is crossed, the channels you picked are told; when it is back to normal, they are told it resolved.
Abrova Console → your project → Trace → Alerts. Up to 50 rules with a funded wallet, at no extra charge.
Rule types#
| Type | What is counted in the window |
|---|---|
| Error count | New issues (first seen in the window). |
| Error spike | New issues, as a percent above the average of the last 24 hours. See [Spike detection](/docs/trace/spike-detection). |
| P95 latency | The 95th percentile duration of the performance spans, in milliseconds. |
| Log error count | Log lines at level error or fatal. |
| Log query | Log lines matching a saved search of Trace → Logs, e.g. one message from one source. |
| Issue seen | Issues whose message contains your text and that had an event: any event, also of an issue you already have or resolved. |
Every type counts the whole project: errors from Android, iOS, Flutter, the web and your servers alike.
Issue seen: alert on every occurrence of an error#
Error count only tells you about a new issue, once. When an error matters every time (a payment failed, a provider refused your server), use Issue seen:
- Report the error with a fixed message, and put what changes in its extra data:
AbrovaTrace.captureException(new Error('payments: provider refused'), { extra: { status, code } });- Create a rule of type Issue seen with Issue message contains
payments: provider refused, threshold 1, window 5 minutes, and your channels.
It fires on the first check after the event (within a minute) without waiting a window, and resolves when a whole window passes without one. While it is firing, more events don't send again; after it resolved, the next event fires again, unless the cooldown (30 minutes by default) has not passed yet. The text is matched anywhere in the message, ignoring case. Issues you marked ignored don't count.
Settings#
| Setting | What it does |
|---|---|
| Threshold and operator | E.g. greater than 10. For Issue seen, at least 1. |
| Window | Minutes of data each check looks at (default 5). Except Issue seen, a rule must stay over its threshold for one window before it fires, so a single blip does not wake you up. |
| Cooldown | Minutes after a notification during which the rule does not notify again (default 30). |
| Environment | Only data from one environment, e.g. production. |
| Abrova Team | The organisation’s owner and everyone added to the project hear it in the Abrova Team app, when it fires and when it resolves. Ticked by default on new rules while Abrova Team is on for the project; each person can switch alerts off in the app. |
| Channels | The project’s integrations to tell: [Email](/docs/trace/email), [Telegram](/docs/trace/telegram), [Webhooks](/docs/trace/webhooks), [Slack](/docs/trace/slack), [Discord](/docs/trace/discord). Without a channel the rule fires but tells no one. |
Roles#
Admins and owners create, change and delete rules. Members acknowledge and mute a firing rule. See Roles & Permissions.
A rule fired but no message arrived?
- Pick at least one channel on the rule, and check it with Send test under Trace → Integrations.
- A notification within the cooldown is skipped; the rule's history shows it.
- A muted rule is not checked until the mute ends.
Last updated: 9 Nov 2026