// Package metrics add by blacknc <blacknc@163.com> at 2023/03/03 11:46:18
package metrics

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

var (
	// Apikey management metrics
	ApikeyCreateCounter        *prometheus.CounterVec
	ApikeyUpdateCounter        *prometheus.CounterVec
	ApikeyDeleteCounter        *prometheus.CounterVec
	ApikeyRecoverFailedCounter *prometheus.CounterVec
)

func apikeyMgmtRegister(subsystem string) {

	ApikeyCreateCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "apikey_create_count",
		Help:      "Number of create apikey.",
	}, []string{"code"})

	ApikeyUpdateCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "apikey_update_count",
		Help:      "Number of update apikey.",
	}, []string{"code"})

	ApikeyDeleteCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "apikey_delete_count",
		Help:      "Number of delete apikey.",
	}, []string{"code"})

	ApikeyRecoverFailedCounter = prometheus.NewCounterVec(prometheus.CounterOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "apikey_recover_failed",
		Help:      "Number of recover apikey failed.",
	}, nil)

	prometheus.MustRegister(
		ApikeyCreateCounter,
		ApikeyUpdateCounter,
		ApikeyDeleteCounter,
		ApikeyRecoverFailedCounter,
	)
}
