github.com/yankunsam/loki/v2@v2.6.3-0.20220817130409-389df5235c27/pkg/querier/queryrange/metrics.go (about) 1 package queryrange 2 3 import ( 4 "github.com/prometheus/client_golang/prometheus" 5 6 "github.com/grafana/loki/pkg/logql" 7 "github.com/grafana/loki/pkg/querier/queryrange/queryrangebase" 8 ) 9 10 type Metrics struct { 11 *queryrangebase.InstrumentMiddlewareMetrics 12 *queryrangebase.RetryMiddlewareMetrics 13 *MiddlewareMapperMetrics 14 *SplitByMetrics 15 *LogResultCacheMetrics 16 } 17 18 type MiddlewareMapperMetrics struct { 19 shardMapper *logql.MapperMetrics 20 rangeMapper *logql.MapperMetrics 21 } 22 23 func NewMiddlewareMapperMetrics(registerer prometheus.Registerer) *MiddlewareMapperMetrics { 24 return &MiddlewareMapperMetrics{ 25 shardMapper: logql.NewShardMapperMetrics(registerer), 26 rangeMapper: logql.NewRangeMapperMetrics(registerer), 27 } 28 } 29 30 func NewMetrics(registerer prometheus.Registerer) *Metrics { 31 return &Metrics{ 32 InstrumentMiddlewareMetrics: queryrangebase.NewInstrumentMiddlewareMetrics(registerer), 33 RetryMiddlewareMetrics: queryrangebase.NewRetryMiddlewareMetrics(registerer), 34 MiddlewareMapperMetrics: NewMiddlewareMapperMetrics(registerer), 35 SplitByMetrics: NewSplitByMetrics(registerer), 36 LogResultCacheMetrics: NewLogResultCacheMetrics(registerer), 37 } 38 }