package metric

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

const (
	metricNamespace = "audit_log"

	MergeGlobal          = "global"
	DispatchTypeGlobal   = "global"
	DispatchTypeRegional = "regional"
)

var (
	AuditLogScheduleMergeFailedGauge = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Namespace: metricNamespace,
			Subsystem: "scheduler",
			Name:      "merge_failed_number",
			Help:      "Failed schedule merge number",
		},
		[]string{"cluster_id", "reason"},
	)
	AuditLogScheduleDispatchFailedGauge = prometheus.NewGaugeVec(
		prometheus.GaugeOpts{
			Namespace: metricNamespace,
			Subsystem: "scheduler",
			Name:      "dispatch_failed_number",
			Help:      "Failed schedule dispatch number",
		},
		[]string{"type", "reason"},
	)
)

func init() {
	prometheus.MustRegister(AuditLogScheduleMergeFailedGauge)
	prometheus.MustRegister(AuditLogScheduleDispatchFailedGauge)
}
