Prometheus · Arazzo Workflow
Prometheus Push Batch Job Metrics to the Pushgateway
Version 1.0.0
Publish a short-lived job's results so Prometheus can scrape them after the job exits.
Provider
Workflows
push-batch-job-metrics
Push a completed batch job's metrics and verify they are stored.
PUT and POST differ in a way that matters here. The PUT replaces the whole group atomically, clearing any metric left behind by a previous run that this run did not emit. The POST then adds to that group without disturbing what the PUT just wrote.
1
checkPushgatewayStatus
getStatus
Read the Pushgateway build information. Recording the version alongside a push is worth the one request, because text-format and OpenMetrics handling has changed across Pushgateway releases.
2
confirmReady
checkReady
Confirm the Pushgateway is ready to accept pushes before the job discards its in-memory results.
3
replaceJobMetrics
replaceJobMetrics
Atomically replace every metric for this job with the results of this run. Using PUT rather than POST is what stops a metric emitted by yesterday's run, and not by today's, from lingering forever and being scraped as if it were current.
4
addCompletionMetric
pushJobMetrics
Add the completion metric to the group with POST, which leaves the metrics written by the previous step untouched.
5
verifyMetricsStored
listAllMetrics
Read back every stored metric group and confirm this job's group is present with a fresh lastPushedAt. This is the only positive confirmation the job gets that its telemetry survived its own exit.