31 lines
769 B
Go
31 lines
769 B
Go
package webhooks
|
|
|
|
import (
|
|
"github.com/prometheus/client_golang/prometheus"
|
|
)
|
|
|
|
type webhookMetrics struct {
|
|
registry prometheus.Registerer
|
|
eventsProcessed *prometheus.CounterVec
|
|
}
|
|
|
|
func registerWebhookMetrics(registry prometheus.Registerer) webhookMetrics {
|
|
eventsProcessed := prometheus.NewCounterVec(
|
|
prometheus.CounterOpts{
|
|
Name: "grafana_provisioning_webhook_events_processed_total",
|
|
Help: "Total number of webhook events processed and what job type was queued",
|
|
},
|
|
[]string{"job"},
|
|
)
|
|
registry.MustRegister(eventsProcessed)
|
|
|
|
return webhookMetrics{
|
|
registry: registry,
|
|
eventsProcessed: eventsProcessed,
|
|
}
|
|
}
|
|
|
|
func (m *webhookMetrics) recordEventProcessed(jobQueued string) {
|
|
m.eventsProcessed.WithLabelValues(jobQueued).Inc()
|
|
}
|