小编Nik*_*kin的帖子

计数器的increase()与changes()函数

我有一个礼品证书应用程序,每当有人激活证书时,它就会增加 Prometheus 计数器。

现在我想在 Grafana 板上输入简单的数字,显示过去 24 小时激活了多少证书。

我可以通过increase(gift_certificates_activated_total[24h])查询来做到这一点,但它会给出浮点结果,例如105.01287565915334.

但我发现如果我使用更改函数,它会给出精确的整数结果。查询是:changes(gift_certificates_activated_total[24h])并且它正好显示 105。

文件说

对于每个输入时间序列,changes(v range-vector) 返回其值在提供的时间范围内变化的次数作为即时向量。

据我了解,它适合仪表指标类型来获取仪表指标值的变化次数,而不适合计数器。但它似乎也适用于计数器。它显示与查询相同的结果floor(increase(gift_certificates_activated_total[24h]))

Changes() 函数的使用是否合适?

prometheus

6
推荐指数
1
解决办法
8644
查看次数

是否有一个 go linter 可以发现“nil 指针取消引用”潜在的恐慌?

这是一个简单的例子:

package main

import "fmt"

type A struct {
    Name *string
}

type B struct {
    A *A
}

func main() {
    deref(&B{})
}

func deref(b *B) {
    fmt.Println(*b.A.Name) // panic: nil pointer dereference
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种可以找到此类情况的解决方案。Jetbrains Goland 中有一个“nillness 检查”,但它不会检查这个问题。

go

5
推荐指数
1
解决办法
4142
查看次数

标签 统计

go ×1

prometheus ×1