package metrics

import (
	"os"
	"regexp"

	"github.com/prometheus/client_golang/prometheus"
	"github.com/prometheus/client_golang/prometheus/promauto"
	log "github.com/sirupsen/logrus"
)

var (
	Durations = promauto.NewHistogramVec(prometheus.HistogramOpts{
		Namespace: "ytsync",
		Subsystem: getHostname(),
		Name:      "duration",
		Help:      "The durations of the individual modules",
	}, []string{"path"})
)

func getHostname() string {
	hostname, err := os.Hostname()
	if err != nil {
		hostname = "ytsync_unknown"
	}
	reg, err := regexp.Compile("[^a-zA-Z0-9_]+")
	if err != nil {
		log.Fatal(err)
	}
	return reg.ReplaceAllString(hostname, "_")
}