prometheus increase()函数踩坑记

Counter采集过来的整数数据increase后出现小数点的数据

image
什么鬼,increase难道不是两个数据的差值吗,为什么会有小数点呢???

  • 分析了一波源码之后发现,increase的取值的时间间隔,会被乘1.1(加这个乘以1.1,判断最后一个数据的抓取时间点是不是太靠近时间间隔的边界,如果太靠近则增加一个“中和”数据的算法),如果这个外溢后的时间间隔大于开始数据取值时间时间差就会被相加,不是则相加再除2。如果外溢时间大于最后一个数据取值时间则会被相加,否则相加再除2。
  • 妈的因为外溢时间大于最后结束数据采集时间点。所以它加了一个算法来中和时间点(我的外溢时间时间差永远大于取值时间点时间差)。中和算法后的时间节点时差,两个采集时间点时间差之比,得出一个数字,再把result乘了一下,才有了小数点(如果最后一个时间点的时间差乘1.1之后的数字大于时间边界则视为太靠近边界)。
  • 也不知道我的分析对不对,欢迎大佬们批评指正一下~~

image

你可能感兴趣的:(监控,prometheus)