目录

1 背景

2 何为Counter类型?

2.1 Counter定义

3 何为Gauge类型?

3.1 Gauge定义

4 Counter和Gauge的对比


1 背景

Prometheus整体架构分为Server端和Exporter端,而Exporter通常是基于官方的SDK开发(例如Go SDK)。

这里要明确一个概念:数据指标类型只是Client端的一个概念,用于维护Metric的生产,以方便在业务上有所区分。

而Server端是不区分数据类型的,因为所有的数据都是一种格式,也即时间序列 Metric<Label01,Label02> value, timestamp.

2 何为Counter类型?

Counter是一个累计类型的数据指标,它代表单调递增的计数器。

其值只能在重新启动时增加或重置为 0。

例如,您可以使用计数器来表示已响应的HTTP请求数,这个数一定是不断增长的。

2.1 Counter定义

参见Prometheus Go SDK

type Counter interface {MetricCollector// 加1Inc()// 增加一个非负的float64类型的值Add(float64)
}

可见Counter接口原始定义里,只对外暴露了Inc()和Add()这两个增加接口,目的很明确,只希望这个值只增不减。

但是有一点格外需要注意:

若Exporter重启了,则Counter类型的Metric的值,必然是重新从0开始。

3 何为Gauge类型?

Gauge是可以任意上下波动数值的指标类型。

也即Gauge的值可增可减,可升可降。

例如:机器的CPU使用率,可大可小。

3.1 Gauge定义

参见Prometheus Go SDK

type Gauge interface {MetricCollector// 指定为任意值Set(float64)// 加1Inc()// 减1Dec()// 加任意值,该值可正可负。<注意这里和Counter类型的定义是不同的>Add(float64)// 减任意值,该值可正可负Sub(float64)// 将值设置成当前时间戳,单位sSetToCurrentTime()
}

可见Gauge接口原始定义,非常灵活,可加可减,并无过多限制。

4 Counter和Gauge的对比

Counter类型HTTP请求量的变化情况,其中T4时刻服务刚重启完,此时指标值恢复从0开始。

Gauge类型指标CPU使用率的变化情况,通过使用Gauge的Set()方法,可将机器的CPU使用率放到指标里。

【推荐阅读】

  1. Prometheus核心概念:一图了解瞬时向量Instant vector和区间向量Range vector的区别
  2. Prometheus源码分析:基于Go Client自定义的Exporter,是如何在Local存储Metrics的?

Prometheus核心概念:一图了解Counter和Gauge两种数据指标类型的区别相关推荐

  1. Prometheus核心概念:你是如何在项目中使用Summary类型的Metric的?

    目录 1 背景 2 微服务项目中如何监测请求耗时呢? 3 使用Prometheus的Summary类型来统计HTTP请求耗时 3.1 实践:如何使用Summary类型Metric? 3.2 源码分析: ...

  2. Python中最常用的 14 种数据可视化类型的概念与代码

    写在前面 收集数据后,需要对其进行解释和分析,以深入了解数据所蕴含的深意.而这个含义可以是关于模式.趋势或变量之间的关系. 数据解释是通过明确定义的方法审查数据的过程,数据解释有助于为数据赋予意义并得 ...

  3. html5的狭义概念,“资源”这一概念,可以有狭义和广义两种理解。狭义的资源是指...

    [原文] "资源"这一概念,可以有狭义和广义两种理解.狭义的资源是指人类生产活动所需要的.在自然界存在的物质(材料)和动力的天然来源.广义的资源,则是指人类用来帮助从事一定活动.以 ...

  4. Prometheus — 核心概念

    目录 文章目录 目录 时间序列 范围向量 多维度数据模型 PromQL 聚合运算 样本 instance 和 job Metric(指标)类型 时间序列 Prometheus 是一个时间序列存储系统, ...

  5. java 获取gif帧数_Java图片处理之获取gif图一帧图片的两种方法

    前言 本文主要给大家介绍了关于Java获取gif图一帧图片的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.Java原生代码实现gif获取一帧图片 先看测试代码: pu ...

  6. swiper 定义放多少张图片,小程序swiper轮播图,自定义样式,两种方法:原生方法和bindchange方法;将点点改为数字(当前第几张 /总共几张);点击点点跳转当前图片...

    一.点点部分 1.1.通过原生方法 (1)wxml文件 (2)wxss /* 轮播图部分 */ .swiperBar { width: 690rpx; height: 337rpx; margin: ...

  7. 有向无环图(DAG)拓扑排序的两种方法

    如下图的DAG: 第一种: (1)从AOV网中选择一个没有前驱的顶点并且输出它: (2)从AOV网中删除该顶点,并且上去所有该顶点为尾的弧: (3)重复上述两步,直到全部顶点都被输出,或者AOV网中不 ...

  8. 【C 语言】C 语言 函数 详解 ( 函数本质 | 顺序点 | 可变参数 | 函数调用 | 函数活动记录 | 函数设计 ) [ C语言核心概念 ]

    相关文章链接 : 1.[嵌入式开发]C语言 指针数组 多维数组 2.[嵌入式开发]C语言 命令行参数 函数指针 gdb调试 3.[嵌入式开发]C语言 结构体相关 的 函数 指针 数组 4.[嵌入式开发 ...

  9. 转: Spark 的核心概念 RDD

    转自:  https://juejin.im/post/6844903826953076750 1.RDD 概述 1.1 什么是 RDD ? RDD(Resilient Distributed Dat ...

最新文章

  1. Maven学习小结(七 生命周期[转])
  2. nginx无法加载css
  3. c++ 取两个链表的交集_使用C ++程序查找两个链表的交集
  4. 漫步最优化二十三——一维优化
  5. python3语法糖_python的语法糖
  6. 平面海报设计素材|几何风格极简流行风,继续
  7. 神策分析 Android SDK 网络模块解析 | 数据采集
  8. 《Context and Attribute Grounded Dense Captioning》笔记
  9. 解决echarts的title和legend重合问题(转)
  10. 数据中心机房监控大厅效果图
  11. NLP学习基础入门(上)
  12. StringBuffer字符串
  13. 编写Java程序,使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的场景(用户充当客户端,QQ 小冰充当服务端)
  14. 法国计算机专业学校排名,法国计算机专业大学排名(2020年泰晤士)_快飞留学
  15. 2021年登高架设考试题及登高架设考试内容
  16. 算法--01背包问题(动态规划算法) 21-01-30
  17. 51nod 1422 沙拉酱前缀
  18. 一个按键精灵后台发送消息的脚本
  19. ubuntu 安装binutils 链接存下
  20. 有啊百度知道双色球红蓝走势图

热门文章

  1. android热启动时间,Android冷启动和热启动
  2. 如何设计一个高性能积分系统
  3. osgearth2.10 demo功能介绍
  4. webapi 接口返回生成中国式 复杂表格,字节数据
  5. 公众号签到领积分怎么做?每日签到功能上架
  6. Excel玩得好,上班可以睡一会儿吗?
  7. 多缸单作用泵排量不均匀度计算说明
  8. 数据仓库三层架构设计
  9. i7 6700k核显相当于什么显卡
  10. 怎么检测细胞是否受支原体污染?