Prometheus客户端库提供了4种核心指标类型。 当前仅在客户端库(以启用针对特定类型的使用量身定制的API)和有线协议中进行区分。 Prometheus server尚未使用类型信息,而是将所有数据展平作为未键入的时间序列。 将来可能会改变。

Counter

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

不要使用计数器来显示会减小的值。 例如,请勿对当前正在运行的进程数使用计数器; 而是使用 gauge。

counter的客户端库使用文档:

Gauge

Gauge是一种可以表示任意上下浮动的单个数值的度量指标。

Gauge通常用于测量值,例如温度或当前内存使用情况,还用于可能上升和下降的“计数”,例如并发请求数。比如磁盘容量、内存使用量就必须使用 gauge来度量

Gauge的客户端库使用文档:

Histogram

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

基本度量指标名称为<basename>的histogram在抓取期间显示多个时间序列:  

  • 观察桶的累积计数器,显示为 <basename>_bucket{le="<upper inclusive bound>"}
  • 所有观察值的总和,显示为<basename>_sum
  • 观察到的事件数,显示为<basename>_count(与 <basename>_bucket{le="+Inf"}相同)

使用histogram_quantile()函数从直方图甚至直方图的聚合中计算分位数。 直方图也适合计算Apdex分数。 在存储桶上操作时,请记住直方图是累积的。 有关直方图用法的详细信息以及与摘要的差异,请参见直方图和摘要。 客户端库使用情况的直方图文档:

Summary

与 histogram类似, summary对观察值进行采样(通常是请求持续时间和响应大小之类的东西)。 尽管它还提供了观测值的总数和所有观测值的总和,但它可以计算滑动时间窗口内的可配置分位数。

 

基本指标名称为<basename>的summary在抓取期间显示多个时间序列:

  • 流观察到的事件的φ分位数(0≤φ≤1),显示为<basename> {quantile="<φ>"}
  • 所有观察值的total sum,显示为<basename>_sum
  • 观察到的事件count,显示为<basename>_count

有关φ分位数的详细说明,summary用法以及与histogram的差异,请参见  histograms and summaries

summary的客户端库使用文档: