Prometheus metric syntax: Difference between revisions
From wikinotes
No edit summary |
(→Scalar) |
||
Line 43: | Line 43: | ||
== Scalar == | == Scalar == | ||
<blockquote> | <blockquote> | ||
<syntaxhighlight lang="go"> | |||
// always a float | |||
12.34 | |||
</syntaxhighlight> | |||
</blockquote><!-- Scalar --> | </blockquote><!-- Scalar --> | ||
Revision as of 17:03, 30 June 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
Metrics Datatypes
Scalar
// always a float 12.34Native-Histograms
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(sum by (instance) (rate(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.