Repository navigation
Publish work queue metrics for the job queues - #1203
Merged
Merged
Conversation
Pass a Micrometer QueueMetrics to the job pending and processing queues, so they publish the seqera.workqueue.* meters (backlog, outcomes, processing time), and provide the QueueMetrics bean the Redis work queue uses for the message lease meters. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since #1201 the job queues run on
lib-data-workqueue, which can publish Micrometer metrics, but Wave never passed it a metrics handle: noseqera_workqueue_*series exist for any Wave environment (only sched publishes them).Changes
JobPendingQueue/JobProcessingQueuepass aMicrometerQueueMetricsto the work queue (via a newBaseWorkQueue(target, metrics)constructor). They publish theseqera.workqueue.*meters taggedqueue=jobs-pending|jobs-queue: backlog (entries), outcomes (messages), processing time (processing).QueueMetricsFactoryprovides theQueueMetricsbean the Redis work queue injects for the lease meters (leased,lease.renewal*,lease.lost,lease.leak), taggedqueue=wave-job-queue. Same wiring as sched.The
MeterRegistryis optional: with metrics disabled both stay no-ops, as before.Note for dashboards: Wave consumers are synchronous, so
outcome=processedcounts completed launches and status checks (ACK), andoutcome=activecounts re-checks of jobs still running (RETRY).deferredis always 0.🤖 Generated with Claude Code