package metrics

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

var (
	LoginCounterDuration = promauto.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: "dbaas",
			Subsystem: "account",
			Name:      "login_count",
			Help:      "user login count",
		}, []string{"eventResult"},
	)
)
var (
	LoginSummaryDuration = promauto.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace: "dbaas",
			Subsystem: "account",
			Name:      "login_summary",
			Help:      "user login  count",
		}, []string{"eventResult"},
	)
)

var (
	LoginCostGaugeDuration = promauto.NewGauge(
		prometheus.GaugeOpts{
			Namespace: "dbaas",
			Subsystem: "account",
			Name:      "login_cost_gauge",
			Help:      "user login event cost",
		},
	)
)
var (
	LoginCostSummaryDuration = promauto.NewSummary(
		prometheus.SummaryOpts{
			Namespace:  "dbaas",
			Subsystem:  "account",
			Name:       "login_cost_summary",
			Help:       "user login event cost",
			Objectives: map[float64]float64{0.5: 0.05, 0.9: 0.01, 0.95: 0.005, 0.99: 0.001},
		},
	)
)
