我试图计算唯一URI的数量并保留它们的数量。这些URI会随着时间的推移而发生变化,并且可能存在多个相同类型的URI。例如,可以有多个" / foo"和" / bar"一个新的URI可以进来 - 让我们说" pooh" - 我将它们添加到柜台并继续计数。在这种情况下,我不能使用常量标签。例如,如果我按方法和/或状态代码计算http请求的数量,我可以这样做:
httpRequestInfo := prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "http_requests_sum",
ConstLabels: prometheus.Labels{"component": "foo"},
Help: " A Counter of the number of each type of request by status code and method",
},
[]string{"code", "method"},
)
我如何在这种情况下使用计数器?谢谢!
答案 0 :(得分:0)
通常应避免使用ConstLabels。你想要做的是kubectl
由于这是一个计数器,因此应该有一个httpRequestInfo.WithLabelValues("404", "get").Inc()
后缀,而不是摘要指标使用的_total
。
您可能希望使用InstrumentHandlerCounter而不是自己实现所有逻辑来跟踪HTTP请求。