Webhook Delivery Service  ·  View 17 of 20  ·  Operations

Observability

Five signals across five stages, and the row the customer gets to see.

Editable source SVG draw.io All views
Intake Fan-out Queue Attempt Consumer Metrics Accept rate Ack p99 Fan-out ratio Match lag Backlog per endpoint Success rate Retry share Consumer latency p99 Logs Rejected events Entitlement misses Redrive events Attempt records, 90 d Response prefix, 1 KB Traces Producer to ack Event to N deliveries Enqueue to lease Sign, POST, classify Alerts Intake error rate Fan-out lag > 60 s Backlog older than 1 h Retries above 25% Endpoint auto-disabled Shown to the customer Backlog depth Delivery health API Request inspector Observability — Signal by Stage Platform time and consumer time are measured separately, so a slow integration has an owner rather than an argument. v 1.0 · owner Integration Platform Architecture · date 2026-09

The split that settles arguments

  • Platform time and consumer time are measured and reported separately at every stage. Conflating them makes the platform the suspect in every slow integration (ADR-13).
  • The bottom row is not internal telemetry — it is the product. Backlog depth, delivery health and the request inspector are what let a developer diagnose their own integration without a support ticket.
  • Retry share is a first-class metric because a small population of failing endpoints can consume most of the delivery capacity while producing no successful deliveries.

Alert thresholds, all assumptions

  • Fan-out lag above 60 s, backlog older than 1 hour, retries above 25% of attempts, and any endpoint auto-disabled.
  • Attempt records retained 90 days at full fidelity for the console; the response body is stored as a bounded 1 KB prefix only.

Gaps

  • The empty cell is honest: the platform has no trace inside a consumer's system and never will. Everything after the POST leaves the estate is inferred from a status code and a duration.
  • A 2xx returned by a consumer that then failed internally is invisible to every signal on this page. Only the consumer's own idempotency and the availability of replay address it.