| name | queue-observability |
| description | Monitor message queues, job processing, and detect backpressure |
| triggers | queue metrics, Kafka monitoring, message queue observability, consumer lag |
| priority | 2 |
Queue Observability
Queues decouple systems but hide problems. Track depth, processing time, and lag.
Key Metrics
| Metric |
Type |
Description |
queue.messages.published |
Counter |
Messages sent |
queue.messages.consumed |
Counter |
Messages processed |
queue.process.duration |
Histogram |
Processing time |
queue.process.errors |
Counter |
Processing failures |
queue.depth |
Gauge |
Pending messages |
queue.consumer.lag |
Gauge |
Behind by N messages |
Span Attributes
| Attribute |
Example |
Required |
messaging.system |
kafka, rabbitmq |
Yes |
messaging.destination |
orders, notifications |
Yes |
messaging.operation |
publish, process |
Yes |
job.type |
send_email |
Recommended |
Producer Pattern
Before: Start span (kind=PRODUCER), inject trace context into headers, start timer
After: Record duration, increment published, record errors, end span
Consumer Pattern
On receive: Extract trace context, start span (kind=CONSUMER), start timer
After: Record duration, increment consumed, record errors, end span
Issues to Detect
| Issue |
Detection |
Cause |
| Growing depth |
queue.depth increasing |
Consumer too slow |
| Consumer lag |
lag > 0 and increasing |
Crashed consumer, slow processing |
| High error rate |
errors/consumed > 5% |
Bad messages, downstream issues |
Anti-Patterns
- No trace context in messages → Traces break at queue boundary
- No DLQ monitoring → Poison messages go unnoticed
- Missing depth alerts → Backpressure surprises
References
references/platforms/{platform}/worker.md
references/patterns/retry-backoff.md