package metrics

import (
	"github.com/prometheus/client_golang/prometheus"
	"sigs.k8s.io/controller-runtime/pkg/metrics"
)

const utilsQueryComponent = "utilsquery"

var (
	UtilsQueryHistogram = prometheus.NewHistogramVec(
		prometheus.HistogramOpts{
			Subsystem: utilsQueryComponent,
			Name:      "query_seconds",
			Help:      "Histogram of query",
		},
		[]string{"resp_code", "read"},
	)
	PromQueryHistogram = prometheus.NewHistogramVec(
		prometheus.HistogramOpts{
			Subsystem: utilsQueryComponent,
			Name:      "prom_query_seconds",
			Help:      "Histogram of prom query",
		},
		[]string{"type", "reason"},
	)
)

func init() {
	// Register custom metrics with the global prometheus registry
	metrics.Registry.MustRegister(UtilsQueryHistogram)
	metrics.Registry.MustRegister(PromQueryHistogram)
}
