package monitor

import "github.com/prometheus/client_golang/prometheus"

var (
	MetaServerHttpRequestCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: MetricNamespace,
			Name:      "meta_server_request_total",
			Help:      "Total number of http request that the meta server received",
		},
		[]string{"path", "status_code"},
	)

	MetaServerHttpDurationHistogram = prometheus.NewHistogramVec(
		prometheus.HistogramOpts{
			Namespace: MetricNamespace,
			Name:      "meta_server_duration",
			Help:      "Histogram abount the meta server reponse latency",
		},
		[]string{"path"},
	)

	MetricServerHttpRequestCounter = prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: MetricNamespace,
			Name:      "metric_server_request_total",
			Help:      "Total number of http request that the metric server received",
		},
		[]string{"path", "status_code"},
	)

	MetricServerHttpDurationHistogram = prometheus.NewHistogramVec(
		prometheus.HistogramOpts{
			Namespace: MetricNamespace,
			Name:      "metric_server_duration",
			Help:      "Histogram abount the metric server reponse latency",
		},
		[]string{"path"},
	)
)

func init() {
	prometheus.MustRegister(MetaServerHttpRequestCounter)
	prometheus.MustRegister(MetaServerHttpDurationHistogram)
	prometheus.MustRegister(MetricServerHttpRequestCounter)
	prometheus.MustRegister(MetricServerHttpDurationHistogram)
}
