OTEL Metrics
Overview
Section titled “Overview”This document describes Queuert’s OpenTelemetry metrics implementation. Metrics provide quantitative visibility into queue health, worker performance, and job processing throughput. See the ObservabilityAdapter TSDoc for the adapter interface.
Metric Types
Section titled “Metric Types”Queuert uses three OpenTelemetry metric instruments: Counter, Histogram, and UpDownCounter.
Naming Convention
Section titled “Naming Convention”All metrics follow the pattern:
queuert.{component}.{operation}[.{suboperation}]Components:
worker- Worker lifecycle eventsjob- Individual job eventsjob_chain- Chain-level eventsjob_type- Job type aggregationsstate_adapter- Database adapter healthnotify_adapter- Notification adapter health
Duration Hierarchy
Section titled “Duration Hierarchy”Histograms track duration distributions at three levels. The ObservabilityAdapter interface accepts milliseconds; the @queuert/otel adapter converts to seconds per OTEL Messaging Semantic Conventions:
queuert.job_chain.duration├── queuert.job.duration (first job)│ ├── queuert.job.attempt.duration (attempt 1)│ └── queuert.job.attempt.duration (attempt 2, retry)├── queuert.job.duration (continuation)│ └── queuert.job.attempt.duration└── (wait time between jobs)Gauges (UpDownCounter)
Section titled “Gauges (UpDownCounter)”Two gauges track real-time worker state:
queuert.job_type.idle— Workers currently idle for job typequeuert.job_type.processing— Jobs currently being processed
See Also
Section titled “See Also”- OTEL Tracing — Distributed tracing with spans
- Adapters — Overall adapter design philosophy
- In-Process Worker — Worker lifecycle and processing