func New()

in pkg/controller/metrics/metrics.go [64:138]


func New(config *config.Config) Interface {
	return impl{
		config: config,
		ingressHighPriorityQueueLength: promauto.NewGauge(
			prometheus.GaugeOpts{
				Namespace: namespace,
				Name:      "ingress_highpriority_queue_length",
				Help:      `The number of Ingress resources queued on the high priority controller queue`,
			},
		),
		ingressLowPriorityQueueLength: promauto.NewGauge(
			prometheus.GaugeOpts{
				Namespace: namespace,
				Name:      "ingress_lowpriority_queue_length",
				Help:      `The number of Ingress resources queued on the low priority controller queue`,
			},
		),
		managedCertificateHighPriorityQueueLength: promauto.NewGauge(
			prometheus.GaugeOpts{
				Namespace: namespace,
				Name:      "managedcertificate_highpriority_queue_length",
				Help:      `The number of ManagedCertificate resources queued on the high priority controller queue`,
			},
		),
		managedCertificateLowPriorityQueueLength: promauto.NewGauge(
			prometheus.GaugeOpts{
				Namespace: namespace,
				Name:      "managedcertificate_lowpriority_queue_length",
				Help:      `The number of ManagedCertificate resources queued on the low priority controller queue`,
			},
		),
		managedCertificateStatus: promauto.NewGaugeVec(
			prometheus.GaugeOpts{
				Namespace: namespace,
				Name:      "managedcertificate_status_count",
				Help:      `The number of ManagedCertificate resources partitioned by their statuses`,
			},
			[]string{labelStatus},
		),
		sslCertificateBackendErrorTotal: promauto.NewCounter(
			prometheus.CounterOpts{
				Namespace: namespace,
				Name:      "sslcertificate_backend_error_total",
				Help: `The number of generic errors occurred
				when performing actions on SslCertificate resources`,
			},
		),
		sslCertificateQuotaErrorTotal: promauto.NewCounter(
			prometheus.CounterOpts{
				Namespace: namespace,
				Name:      "sslcertificate_quota_error_total",
				Help: `The number of out-of-quota errors occurred
				when performing actions on SslCertificate resources`,
			},
		),
		sslCertificateBindingLatency: promauto.NewHistogram(
			prometheus.HistogramOpts{
				Namespace: namespace,
				Name:      "sslcertificate_binding_latency_seconds",
				Help: `Time elapsed from creating a valid ManagedCertificate resource to binding a first
				corresponding SslCertificate resource with Ingress via annotation pre-shared-cert`,
				Buckets: prometheus.ExponentialBuckets(1.0, 1.3, 10),
			},
		),
		sslCertificateCreationLatency: promauto.NewHistogram(
			prometheus.HistogramOpts{
				Namespace: namespace,
				Name:      "sslcertificate_creation_latency_seconds",
				Help: `Time elapsed from creating a valid ManagedCertificate resource
				to creating a first corresponding SslCertificate resource`,
				Buckets: prometheus.ExponentialBuckets(1.0, 1.3, 10),
			},
		),
	}
}