Add Prometheus Pushgateway Support #175
Open
+735
−50
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.
Hi everyone,
This PR adds support for sending k6 metrics to a Prometheus Push Gateway.
Why?
I encountered this need while working with OpenShift's User Workload Monitoring, which provides a Prometheus instance that cannot be configured, meaning the remote write endpoint could not be enabled.
There is an existing extension for Pushgateway support: xk6-output-prometheus-pushgateway. However, it has some limitations:
Why integrate this into
xk6-output-prometheus-remote
?To ensure compatibility with existing dashboards and correct metric tracking, I integrated Pushgateway support into the remote-write extension. This allows us to reuse the existing logic for metric state tracking and naming conventions.
Features of the Pushgateway support:
Notes on Native Histograms:
Currently, the Pushgateway accepts native histograms but is not able to export them in OpenMetrics/Text format via
/metrics
. It only exports an "+Inf" bucket. This could be addressed by either:Usage
Looking forward to your feedback!