package metrics

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

var (
	CreateVpcEndpointDuration        *prometheus.HistogramVec
	WaitPrivateLinkAvailableDuration prometheus.Histogram
)

func privateLinkRegister(subsystem string) {
	CreateVpcEndpointDuration = prometheus.NewHistogramVec(prometheus.HistogramOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "create_vpc_endpoint_duration",
		Help:      "Create vpc endpoint latencies in second.",
		Buckets:   prometheus.ExponentialBuckets(0.01, 2, 20), // 10ms ~ 5242s
	}, []string{"ok"})

	WaitPrivateLinkAvailableDuration = prometheus.NewHistogram(prometheus.HistogramOpts{
		Namespace: namespace,
		Subsystem: subsystem,
		Name:      "wait_privatelink_available_duration",
		Help:      "Wait private link available latencies in second.",
		Buckets:   prometheus.ExponentialBuckets(0.1, 2, 20), // 100ms ~ 52428s
	})

	prometheus.MustRegister(
		CreateVpcEndpointDuration,
		WaitPrivateLinkAvailableDuration,
	)
}
