mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
package query
 | 
						|
 | 
						|
import (
 | 
						|
	"github.com/prometheus/client_golang/prometheus"
 | 
						|
)
 | 
						|
 | 
						|
const (
 | 
						|
	metricsSubSystem = "queryservice"
 | 
						|
	metricsNamespace = "grafana"
 | 
						|
)
 | 
						|
 | 
						|
type queryMetrics struct {
 | 
						|
	dsRequests *prometheus.CounterVec
 | 
						|
 | 
						|
	// older metric
 | 
						|
	expressionsQuerySummary *prometheus.SummaryVec
 | 
						|
}
 | 
						|
 | 
						|
func newQueryMetrics(reg prometheus.Registerer) *queryMetrics {
 | 
						|
	m := &queryMetrics{
 | 
						|
		dsRequests: prometheus.NewCounterVec(prometheus.CounterOpts{
 | 
						|
			Namespace: metricsNamespace,
 | 
						|
			Subsystem: metricsSubSystem,
 | 
						|
			Name:      "ds_queries_total",
 | 
						|
			Help:      "Number of datasource queries made from the query service",
 | 
						|
		}, []string{"error", "dataplane", "datasource_type"}),
 | 
						|
 | 
						|
		expressionsQuerySummary: prometheus.NewSummaryVec(
 | 
						|
			prometheus.SummaryOpts{
 | 
						|
				Namespace:  metricsNamespace,
 | 
						|
				Subsystem:  metricsSubSystem,
 | 
						|
				Name:       "expressions_queries_duration_milliseconds",
 | 
						|
				Help:       "Expressions query summary",
 | 
						|
				Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.99: 0.001},
 | 
						|
			},
 | 
						|
			[]string{"status"},
 | 
						|
		),
 | 
						|
	}
 | 
						|
 | 
						|
	if reg != nil {
 | 
						|
		reg.MustRegister(
 | 
						|
			m.dsRequests,
 | 
						|
			m.expressionsQuerySummary,
 | 
						|
		)
 | 
						|
	}
 | 
						|
 | 
						|
	return m
 | 
						|
}
 |