package metrics

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

func RegisterCentralMetrics() {
	var namespace = "message-service"
	subsystem := "central"
	// latency
	HTTPReqDuration = prometheus.NewHistogramVec(prometheus.HistogramOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "http_request_duration_ms",
		Help:      "The HTTP request latencies in ms.",
		Buckets:   nil,
	}, []string{"method", "path"})
	// count
	HTTPReqTotal = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "http_requests_total",
		Help:      "Total number of HTTP requests made.",
	}, []string{"method", "path", "status"})
	prometheus.MustRegister(
		HTTPReqDuration,
		HTTPReqTotal,
	)
}
