Relay
1.x
Docs/Relay/Observability
Open

Reading1 min
Updated31 Jul 2026
Sourcev1/subsystems/observability.mdx

The observability package provides Prometheus metrics and OpenTelemetry tracing for monitoring Relay in production.

Prometheus metrics01

import "github.com/xraph/relay/observability"

metrics := observability.NewMetrics(prometheus.DefaultRegisterer)

Available metrics

MetricTypeDescription
relay_events_sent_totalCounterTotal events submitted
relay_deliveries_totalCounterVecDelivery attempts by status (delivered, failed, retried)
relay_delivery_latency_secondsHistogramHTTP request latency per delivery
relay_dlq_sizeGaugeCurrent DLQ entries
relay_pending_deliveriesGaugeCurrent pending deliveries

Recording deliveries

metrics.RecordDelivery("delivered", 0.245)
metrics.RecordDelivery("failed", 1.023)

OpenTelemetry tracing02

import "github.com/xraph/relay/observability"

tracer := observability.NewTracer()

ctx, span := tracer.StartDeliverySpan(ctx, deliveryID, eventID, endpointID)
defer tracer.EndDeliverySpan(span, statusCode, latencyMs, errMsg)

Each delivery span includes attributes:

  • relay.delivery_id

  • relay.event_id

  • relay.endpoint_id

  • http.status_code

  • relay.latency_ms

  • relay.error (if present)