C
APM & Infrastructure
Service Catalog
Auto-registered service inventory with owner, repo, on-call, SLO.
▸ How it works
Every span and metric carries a `service_name`. The catalog watches for new values and creates a service row automatically on first telemetry. From the UI, attach metadata: owner team, source-code link, on-call rotation URL, SLO target (e.g. p95 latency < 300ms). Funnel then evaluates the SLO continuously against incoming spans and surfaces burn-rate alerts.
▸ What this lets you do
- ✓ Zero-effort service inventory — list grows as your stack grows
- ✓ Per-service SLO scoreboard tied to real traffic
- ✓ One-click jump from any incident to the on-call rotation URL
- ✓ Service ownership becomes discoverable, not tribal knowledge
▸ Get it running
- 1 Send any telemetry with `service_name` in attributes
- 2 Open `Catalog`, fill in owner / repo / on-call / SLO for each service
- 3 The SLO scoreboard updates every minute via Oban
▸ Code examples
# The "checkout" service auto-registers on first metric
curl -X POST https://funnel.example.com/v1/metrics \
-H "Authorization: Bearer st_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"metrics": [{
"name": "http.server.duration_ms",
"kind": "gauge",
"value": 152.0,
"attributes": { "service": "checkout" }
}]
}'
# Open /app/p/:org/:project/catalog — "checkout" is listed.
Where to find it
/app/p/:org/:project/catalog