Prometheus metric syntax: Difference between revisions
From wikinotes
(One intermediate revision by the same user not shown) | |||
Line 49: | Line 49: | ||
</blockquote><!-- Scalar --> | </blockquote><!-- Scalar --> | ||
== Native-Histograms == | == Native-Histograms (experimental) == | ||
<blockquote> | <blockquote> | ||
Newer, More-accurate, simpler-to-use histogram type.<br> | Newer, More-accurate, simpler-to-use histogram type.<br> | ||
Line 60: | Line 60: | ||
# number of points in each 2m sample-size | # number of points in each 2m sample-size | ||
histogram_count( | histogram_count(increase(my_metric{}[2m])) | ||
# sum of points in each 2m sample-size | # sum of points in each 2m sample-size |
Latest revision as of 20:36, 6 December 2023
Syntax used to expose metrics to prometheus.
Documentation
Comments
In addition to regular comments, doc-comments exist for
HELP
describing metricsTYPE
describing metric type# regular comment // possibly invalid? # HELP metric_name Does thing // description of metric # TYPE metric_name counter // counter, gauge, historgram
Metrics
my_metric 1.2 my_metric{hostname="foobar", user="baz"} 1.2
Metric Datatypes
Scalar
// always a float 12.34Native-Histograms (experimental)
Newer, More-accurate, simpler-to-use histogram type.
One metric is emitted (a complex type, a struct under the hood)
Bucket Sizes do not need to be configured manually.# p99, from grafana, in 2m sample-sizes histogram_quantile(0.99, sum(rate(my_metric{}[2m]))) # number of points in each 2m sample-size histogram_count(increase(my_metric{}[2m])) # sum of points in each 2m sample-size histogram_sum # todoHistograms
The old histograms create/emit multiple metrics from your metric with the suffixes:
_bucket
_count
# for 1x emitted 'my_metric', it creates: my_metric_bucket{le="10"} 123 my_metric_bucket{le="20"} 456 my_metric_bucket{le="+Inf"} 789 my_metric_bucket_count ... my_metric_bucket_sum ...Here
le
represents all points within the sample-range of less-than-or-equal to $X.
The bucket sizes must be manually configured.