mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
	
	
		
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Go
		
	
	
	
| 
								 | 
							
								package expr
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import (
							 | 
						||
| 
								 | 
							
									"github.com/prometheus/client_golang/prometheus"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								const (
							 | 
						||
| 
								 | 
							
									metricsSubSystem = "sse"
							 | 
						||
| 
								 | 
							
									metricsNamespace = "grafana"
							 | 
						||
| 
								 | 
							
								)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								type metrics struct {
							 | 
						||
| 
								 | 
							
									dsRequests *prometheus.CounterVec
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									// older metric
							 | 
						||
| 
								 | 
							
									expressionsQuerySummary *prometheus.SummaryVec
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								func newMetrics(reg prometheus.Registerer) *metrics {
							 | 
						||
| 
								 | 
							
									m := &metrics{
							 | 
						||
| 
								 | 
							
										dsRequests: prometheus.NewCounterVec(prometheus.CounterOpts{
							 | 
						||
| 
								 | 
							
											Namespace: metricsNamespace,
							 | 
						||
| 
								 | 
							
											Subsystem: metricsSubSystem,
							 | 
						||
| 
								 | 
							
											Name:      "ds_queries_total",
							 | 
						||
| 
								 | 
							
											Help:      "Number of datasource queries made via server side expression requests",
							 | 
						||
| 
								 | 
							
										}, []string{"error", "dataplane"}),
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
										// older (No Namespace or Subsystem)
							 | 
						||
| 
								 | 
							
										expressionsQuerySummary: prometheus.NewSummaryVec(
							 | 
						||
| 
								 | 
							
											prometheus.SummaryOpts{
							 | 
						||
| 
								 | 
							
												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
							 | 
						||
| 
								 | 
							
								}
							 |