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  }