Prometheus metric syntax: Difference between revisions
From wikinotes
No edit summary |
|||
Line 38: | Line 38: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</blockquote><!-- Metrics --> | </blockquote><!-- Metrics --> | ||
= Metrics Datatypes = | |||
<blockquote> | |||
== Scalar == | |||
<blockquote> | |||
</blockquote><!-- Scalar --> | |||
== Native-Histograms == | |||
<blockquote> | |||
Newer, More-accurate, simpler-to-use histogram type.<br> | |||
One metric is emitted (a complex type, a struct under the hood)<br> | |||
Bucket Sizes do not need to be configured manually. | |||
<syntaxhighlight lang="promql"> | |||
# 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 # todo | |||
</syntaxhighlight> | |||
</blockquote><!-- Native-Histograms --> | |||
== Histograms == | |||
<blockquote> | |||
The old histograms create/emit multiple metrics from your metric with the suffixes: | |||
* <code>_bucket</code> | |||
* <code>_count</code> | |||
<syntaxhighlight lang="go"> | |||
# 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 ... | |||
</syntaxhighlight> | |||
Here <code>le</code> represents all points within the sample-range of less-than-or-equal to $X.<br> | |||
The bucket sizes must be manually configured. | |||
</blockquote><!-- Histograms --> | |||
</blockquote><!-- Metrics Datatypes --> |
Revision as of 17:02, 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
Native-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.