Some workloads may not want to run an HTTP server to expose metrics, especially in the case of short-lived batch jobs. For these cases metrics can also be manually "pushed" to a Prometheus Pushgateway instance, though there are drawbacks.
push_to_gateway() is used to push metrics, and delete_from_gateway() is
used to clean them up when the workload is finished.
push_to_gateway( url, job, instance = NA, registry = global_registry(), ..., retry_times = 3, httr_config = list() ) delete_from_gateway(url, job, instance = NA, ...)
| url | The URL of the Pushgateway |
|---|---|
| job | A value for the |
| instance | A value for the |
| registry | A |
| ... | Additional named string arguments converted to labels. Beware that these are not yet checked for URL safety. |
| retry_times | Number of times to (re)try the request if it fails. Passed
to |
| httr_config | Additional request configuration (such as timeouts or SSL
options) passed to |
NULL, invisibly.
if (FALSE) { register_default_metrics() push_to_gateway("localhost:9091", job = "batch-job-1") # Some time later... delete_from_gateway("localhost:9091", job = "batch-job-1") }