Select Git revision
cache.go 1.09 KiB
package metrics
import "github.com/prometheus/client_golang/prometheus"
type CacheMetrics struct {
HitsTotal *prometheus.CounterVec
MissesTotal *prometheus.CounterVec
InvalidatesTotal *prometheus.CounterVec
}
func NewCacheMetrics(subsystem string) *CacheMetrics {
labelNames := []string{
"service",
}
metrics := &CacheMetrics{
HitsTotal: prometheus.NewCounterVec(prometheus.CounterOpts{
Subsystem: subsystem,
Name: "cache_hits_total",
Help: "Количество попаданий в кэш.",
}, labelNames),
MissesTotal: prometheus.NewCounterVec(prometheus.CounterOpts{
Subsystem: subsystem,
Name: "cache_misses_total",
Help: "Количество пропусков в кэш.",
}, labelNames),
InvalidatesTotal: prometheus.NewCounterVec(prometheus.CounterOpts{
Subsystem: subsystem,
Name: "cache_invalidates_total",
Help: "Количество инвалидаций кэша.",
}, labelNames),
}
prometheus.MustRegister(
metrics.HitsTotal,
metrics.MissesTotal,
metrics.InvalidatesTotal,
)
return metrics
}