Alerts

Peekr Cloud watches your ingested traces and posts to Slack the moment something goes wrong — a runaway cascade, a compliance violation, a hallucination spike, a cost or latency threshold, or your agent going silent. Setup takes about a minute.

Connect Slack

1

Create a Slack incoming webhook

In Slack, go to api.slack.com/messaging/webhooks, create an app (or reuse one), enable Incoming Webhooks, and add a webhook to the channel you want alerts in. Copy the URL — it looks like https://hooks.slack.com/services/T…/B…/….
2

Paste it into Peekr

Open your project's Settings → Alerts & Slack, paste the webhook URL, and click Connect Slack. Peekr seeds a starter set of alert rules on first connect.
3

Send a test

Hit Send test alert. A message should land in your Slack channel within a second. If not, double-check the webhook URL.
4

You're done

Event alerts (cascade, compliance) fire as spans arrive; metric alerts (rate/cost thresholds, silence) are evaluated on a schedule. Everything that fires is also logged on your project's Alerts page.

What you can alert on

The starter catalog (tune thresholds or disable per project):

AlertWhenEvaluated
CascadeA trace where one op fans out into many calls, or re-enters itselfon ingest
Compliance / guardrailA pack or guardrail violation (incl. memory contradiction)on ingest
Hallucination rateToo many answers below a faithfulness floorscheduled
CostLLM spend over budget in the windowscheduled
Latencyp95 latency over a thresholdscheduled
Error rateError rate over a thresholdscheduled
SilenceNo spans received — the agent went darkscheduled

Note

Each alert is throttled by a fingerprint, so the same cascade or violation won't spam your channel — it fires at most once per throttle window (default 10–60 min).

In-process alerts (SDK)

Prefer to alert from inside your own process, without the cloud? The OSS SDK ships a pluggable alert/sink system — route an alert straight to a Slack webhook from your app:

agent.py
from peekr.alerts import ErrorRate, SlackSink

# Fire to Slack when the error rate over the last 50 traces exceeds 5%
ErrorRate(threshold=0.05, window=50).with_sinks(
    SlackSink("https://hooks.slack.com/services/…")
)

In-process alerts see one process's traces. Cloud alerts see allyour ingested data, so they can do rates, baselines, and the topology detectors (cascade) that a single process can't compute.