Observability for the event pipeline: failed dispatches go to a DLQ, metrics exposed for Prometheus, Grafana dashboard.
events-dlq
curl sqs-mgmt/queue/events-dlq/messages
/v1/events
gateway_events_received_total{source, type}
gateway_events_dispatched_total{source, type, target, status}
gateway_events_dispatch_duration_seconds{target}
gateway_events_dlq_total{source, type, target}
curl api.riotpiao.com/metrics | grep gateway_events
k8s/infra/monitoring/dashboards/event-bus.yaml
grafana.riotpiao.com
go test ./internal/events/
No dependencies set.
The note is not visible to the blocked user.
What
Observability for the event pipeline: failed dispatches go to a DLQ, metrics exposed for Prometheus, Grafana dashboard.
Depends On
Acceptance
Dead Letter Queue
events-dlqcurl sqs-mgmt/queue/events-dlq/messagesreturns failed events/v1/events→ re-routed through pipelinePrometheus Metrics
gateway_events_received_total{source, type}— incremented on every POST /v1/eventsgateway_events_dispatched_total{source, type, target, status}— incremented per target dispatch (status: success/failure)gateway_events_dispatch_duration_seconds{target}— histogram of dispatch latency per targetgateway_events_dlq_total{source, type, target}— incremented when event sent to DLQcurl api.riotpiao.com/metrics | grep gateway_eventsreturns all 4 metric familiesGrafana Dashboard
k8s/infra/monitoring/dashboards/event-bus.yamlgrafana.riotpiao.comunder Event Bus folderTests
go test ./internal/events/— dispatch failure → DLQ message written with correct schemago test ./internal/events/— metrics incremented correctly on success and failure paths