github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/storage/stores/indexshipper/compactor/generationnumber/metrics.go (about) 1 package generationnumber 2 3 import ( 4 "github.com/prometheus/client_golang/prometheus" 5 ) 6 7 // Make this package level because we want several instances of a loader to be able to report metrics 8 var metrics *genLoaderMetrics 9 10 type genLoaderMetrics struct { 11 cacheGenLoadFailures *prometheus.CounterVec 12 } 13 14 func newGenLoaderMetrics(r prometheus.Registerer) *genLoaderMetrics { 15 if metrics != nil { 16 return metrics 17 } 18 19 if r == nil { 20 return nil 21 } 22 23 cacheGenLoadFailures := prometheus.NewCounterVec(prometheus.CounterOpts{ 24 Namespace: "loki", 25 Name: "delete_cache_gen_load_failures_total", 26 Help: "Total number of failures while loading cache generation number using gen number loader", 27 }, []string{"source"}) 28 29 r.MustRegister(cacheGenLoadFailures) 30 31 metrics = &genLoaderMetrics{ 32 cacheGenLoadFailures: cacheGenLoadFailures, 33 } 34 35 return metrics 36 }