metrics: add chain error counter

This commit is contained in:
ginuerzh
2022-03-16 22:18:26 +08:00
parent 6b2ccaad38
commit 26d322379d
3 changed files with 39 additions and 2 deletions

View File

@ -39,6 +39,7 @@ type Metrics struct {
inputBytes *prometheus.CounterVec
outputBytes *prometheus.CounterVec
handlerErrors *prometheus.CounterVec
chainErrors *prometheus.CounterVec
}
func NewMetrics() *Metrics {
@ -93,6 +94,12 @@ func NewMetrics() *Metrics {
Help: "Total service handler errors",
},
[]string{"host", "service"}),
chainErrors: prometheus.NewCounterVec(
prometheus.CounterOpts{
Name: "gost_chain_errors_total",
Help: "Total chain errors",
},
[]string{"host", "chain"}),
}
prometheus.MustRegister(m.services)
prometheus.MustRegister(m.requests)
@ -101,6 +108,7 @@ func NewMetrics() *Metrics {
prometheus.MustRegister(m.inputBytes)
prometheus.MustRegister(m.outputBytes)
prometheus.MustRegister(m.handlerErrors)
prometheus.MustRegister(m.chainErrors)
return m
}
@ -180,3 +188,14 @@ func HandlerErrors(service string) Counter {
"service": service,
})
}
func ChainErrors(chain string) Counter {
if metrics == nil || metrics.chainErrors == nil {
return nilCounter
}
return metrics.chainErrors.
With(prometheus.Labels{
"host": metrics.host,
"chain": chain,
})
}