open-cluster-management.io/governance-policy-propagator@v0.13.0/controllers/propagator/metric.go (about) 1 // Copyright (c) 2021 Red Hat, Inc. 2 // Copyright Contributors to the Open Cluster Management project 3 4 package propagator 5 6 import ( 7 "github.com/prometheus/client_golang/prometheus" 8 "sigs.k8s.io/controller-runtime/pkg/metrics" 9 ) 10 11 var ( 12 hubTemplateActiveWatchesMetric = prometheus.NewGauge( 13 prometheus.GaugeOpts{ 14 Name: "hub_templates_active_watches", 15 Help: "The number of active watch API requests for Hub policy templates", 16 }, 17 ) 18 propagationFailureMetric = prometheus.NewCounterVec( 19 prometheus.CounterOpts{ 20 Name: "policy_propagation_failure_total", 21 Help: "The number of failed policy propagation attempts per policy", 22 }, 23 []string{"name", "namespace"}, 24 ) 25 roothandlerMeasure = prometheus.NewHistogram(prometheus.HistogramOpts{ 26 Name: "ocm_handle_root_policy_duration_seconds_bucket", 27 Help: "Time the handleRootPolicy function takes to complete.", 28 }) 29 ) 30 31 func init() { 32 metrics.Registry.MustRegister(roothandlerMeasure) 33 metrics.Registry.MustRegister(propagationFailureMetric) 34 metrics.Registry.MustRegister(hubTemplateActiveWatchesMetric) 35 }