github.com/grafana/pyroscope@v1.18.0/pkg/storegateway/metrics.go (about) 1 package storegateway 2 3 import ( 4 "github.com/grafana/pyroscope/pkg/phlaredb" 5 "github.com/grafana/pyroscope/pkg/util" 6 7 "github.com/prometheus/client_golang/prometheus" 8 ) 9 10 type Metrics struct { 11 registerer prometheus.Registerer 12 13 blockMetrics *phlaredb.BlocksMetrics 14 15 synced *prometheus.GaugeVec 16 blockLoads prometheus.Counter 17 blockLoadFailures prometheus.Counter 18 blockDrops prometheus.Counter 19 blockDropFailures prometheus.Counter 20 } 21 22 func NewBucketStoreMetrics(reg prometheus.Registerer) *Metrics { 23 return &Metrics{ 24 registerer: reg, 25 blockMetrics: phlaredb.NewBlocksMetrics(reg), 26 27 synced: util.RegisterOrGet(reg, prometheus.NewGaugeVec( 28 prometheus.GaugeOpts{ 29 Subsystem: "blocks_meta", 30 Name: "synced", 31 Help: "Number of block metadata synced", 32 }, []string{"state"})), 33 34 blockLoads: util.RegisterOrGet(reg, prometheus.NewCounter(prometheus.CounterOpts{ 35 Name: "pyroscope_bucket_store_block_loads_total", 36 Help: "Total number of remote block loading attempts.", 37 })), 38 39 blockLoadFailures: util.RegisterOrGet(reg, prometheus.NewCounter(prometheus.CounterOpts{ 40 Name: "pyroscope_bucket_store_block_load_failures_total", 41 Help: "Total number of failed remote block loading attempts.", 42 })), 43 44 blockDrops: util.RegisterOrGet(reg, prometheus.NewCounter(prometheus.CounterOpts{ 45 Name: "pyroscope_bucket_store_block_drops_total", 46 Help: "Total number of local blocks that were dropped.", 47 })), 48 49 blockDropFailures: util.RegisterOrGet(reg, prometheus.NewCounter(prometheus.CounterOpts{ 50 Name: "pyroscope_bucket_store_block_drop_failures_total", 51 Help: "Total number of local blocks that failed to be dropped.", 52 })), 53 } 54 } 55 56 func (m *Metrics) Unregister() { 57 m.blockMetrics.Unregister() 58 for _, c := range []prometheus.Collector{ 59 m.synced, 60 m.blockLoads, 61 m.blockLoadFailures, 62 m.blockDrops, 63 m.blockDropFailures, 64 } { 65 m.registerer.Unregister(c) 66 } 67 }