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  }