package metrics

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

const (
	eventJobSubsystem = "event_job"
)

var EventJob = eventJobMetrics{
	SyncCount: prometheus.NewCounterVec(
		prometheus.CounterOpts{
			Namespace: Namespace,
			Subsystem: eventJobSubsystem,
			Name:      "sync_count_total",
			Help:      "How many times an event job sync is executed.",
		},
		[]string{"service_name", "job_name", "result"},
	),
	SyncDur: prometheus.NewSummaryVec(
		prometheus.SummaryOpts{
			Namespace: Namespace,
			Subsystem: eventJobSubsystem,
			Name:      "sync_duration_seconds",
			Help:      "How long it takes to execute an event job sync.",
		},
		[]string{"service_name", "job_name", "result"},
	),
}

type eventJobMetrics struct {
	SyncCount *prometheus.CounterVec
	SyncDur   *prometheus.SummaryVec
}
