Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/querier/worker/metrics.go

35 lines
1.3 KiB

package worker
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
type Metrics struct {
concurrentWorkers prometheus.Gauge
inflightRequests prometheus.Gauge
frontendClientRequestDuration *prometheus.HistogramVec
frontendClientsGauge prometheus.Gauge
}
func NewMetrics(conf Config, r prometheus.Registerer) *Metrics {
return &Metrics{
concurrentWorkers: promauto.With(r).NewGauge(prometheus.GaugeOpts{
Name: "loki_querier_worker_concurrency",
Help: "Number of concurrent querier workers",
}),
inflightRequests: promauto.With(r).NewGauge(prometheus.GaugeOpts{
Name: "loki_querier_worker_inflight_queries",
Help: "Number of queries being processed by the querier workers",
}),
frontendClientRequestDuration: promauto.With(r).NewHistogramVec(prometheus.HistogramOpts{
Name: "loki_querier_query_frontend_request_duration_seconds",
Help: "Time spend doing requests to frontend.",
Buckets: prometheus.ExponentialBuckets(0.001, 4, 6),
}, []string{"operation", "status_code"}),
frontendClientsGauge: promauto.With(r).NewGauge(prometheus.GaugeOpts{
Name: "loki_querier_query_frontend_clients",
Help: "The current number of clients connected to query-frontend.",
}),
}
}