Support JSON response for /metrics endpoint, add client method for metrics #725
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.
This PR adds a new
metrics
method to both the async and sync LoRAX client objects that returns a nearly equivalent payload to what the/metrics
endpoint returns.By default, the
/metrics
endpoint returns a response inplain/text
format and in a format compatible with Prometheus. This PR modifies that endpoint to support a new optional query parameter calledformat
that can optionally be set to JSON or just requires theapplication/json
header.On the Python client side, you can just call
client.metrics(format="json")
to get the relevant response back:The structure follows this format:
For metrics that are histograms, you will also find a
sum
andcount
key in the data objects.Here's an example snippet when grabbing this output: