Push Metrics
How to push metrics into Gradient Metrics system
In order to push metrics from your Experiment or Deployment code, you must import gradient-utils from gradient package:
Installing Gradient Utils
Instrumenting
Four types of metrics are offered: Counter, Gauge, Summary, and Histogram.
Counter
Counters go up, and reset when the process restarts.
If there is a suffix of _total
on the metric name, it will be removed. When exposing the time series for counter, a _total
suffix will be added. This is for compatibility between OpenMetrics and the Prometheus text format, as OpenMetrics requires the _total
suffix.
There are utilities to count exceptions raised:
Gauge
Gauges can go up and down.
There are utilities for common use cases:
A Gauge can also take its value from a callback:
Summary
Summaries track the size and number of events.
There are utilities for timing code:
The Python client doesn't store or expose quantile information at this time.
Histogram
Histograms track the size and number of events in buckets. This allows for aggregatable calculation of quantiles.
The default buckets are intended to cover a typical web/rpc request from milliseconds to seconds. They can be overridden by passing buckets
keyword argument to Histogram
.
There are utilities for timing code:
Labels
All metrics can have labels, allowing grouping of related time series.
Taking a counter as an example:
Labels can also be passed as keyword-arguments:
Example Code
You have to remember to import MetricsLogger:
Notes:
Gradient uses Prometheus behind the scenes. See the Prometheus documentation on metric types and instrumentation best practices the best practices on naming and labels on how to use them.
Last updated