package metrics import ( "strconv" "git.frostfs.info/TrueCloudLab/frostfs-observability/metrics" "github.com/prometheus/client_golang/prometheus" ) type multinetMetrics struct { dials *prometheus.GaugeVec } type MultinetMetrics interface { Dial(sourceIP string, success bool) } func newMultinetMetrics(ns string) *multinetMetrics { return &multinetMetrics{ dials: metrics.NewGaugeVec( prometheus.GaugeOpts{ Namespace: ns, Subsystem: multinetSubsystem, Name: "dial_count", Help: "Dials count performed by multinet", }, []string{sourceIPLabel, successLabel}), } } func (m *multinetMetrics) Dial(sourceIP string, success bool) { m.dials.With(prometheus.Labels{ sourceIPLabel: sourceIP, successLabel: strconv.FormatBool(success), }).Inc() }