Prometheus客户端库提供了四个核心的metrics类型。这四种类型目前仅在客户端库(启用针对特定类型使用量身定制的API)和wire协议中区分。Prometheus服务还没有充分利用这些类型。不久的将来就会发生改变。

一、Counter

counter 是表示单个单调递增计数器的累积度量,其值只能在重启时增加或重置为零。 例如,您可以使用counter来表示所服务的请求数,已完成的任务或错误。

不要使用counter来暴露可能减少的值。例如,不要使用counter来处理当前正在运行的进程数; 而是使用gauge

客户端使用counter的文档:

二、Gauge

gauge是一个度量指标,它表示一个既可以递增, 又可以递减的值。

Gauge通常用于测量值,如温度或当前内存使用情况,但也可用于可以上下的”计数”,例如并发请求的数量。

客户端使用gauge的文档:

三、Histogram(柱状图)

histogram,对观察结果进行采样(通常是请求持续时间或响应大小等),并将其计入可配置存储桶中。它还提供所有观察值的总和。

基本度量标准名称为<basename>的直方图在scrape期间显示多个时间序列:

  • 暴露的观察桶的累积计数器:<basename>_bucket{le="<upper inclusive bound>"}
  • 所有观测值的总和:<basename>_sum
  • 已观察到的事件数:<basename>_count,和<basename>_bucket{le="+Inf"}相同

使用histogram_quantile(), 计算直方图或者是直方图聚合计算的分位数阈值。 histogram适合计算计算Apdex值, 当在buckets上操作时,记住histogram是累计的。详见 histograms和summaries

客户库的histogram使用文档:

四、Summary

类似histogramsummary是采样点分位图统计(通常是请求持续时间和响应大小等)。虽然它还提供观察的总数和所有观测值的总和,但它在滑动时间窗口上计算可配置的分位数。

基本度量标准名称<basename>summary在scrape期间公开了多个时间序列:

  • 流φ-quantiles (0 ≤ φ ≤ 1), 显示为<basename>{quantiles="[φ]"}
  • <basename>_sum, 是指所有观察值的总和
  • <basename>_count, 是指已观察到的事件计数值

有关φ-分位数,Summary用法和histogram图差异的详细说明,详见histogram和summaries

有关summaries的客户端使用文档: