feat(metrics): provide metrics for tenant quotas (#1094)

Signed-off-by: Lukas Boettcher <1340215+lukasboettcher@users.noreply.github.com>
This commit is contained in:
lukasboettcher
2024-05-27 16:38:25 +02:00
committed by GitHub
parent 4afcfbbb27
commit 5efb4fbfcf
3 changed files with 61 additions and 0 deletions

30
pkg/metrics/metrics.go Normal file
View File

@@ -0,0 +1,30 @@
// Copyright 2020-2023 Project Capsule Authors.
// SPDX-License-Identifier: Apache-2.0
package metrics
import (
"github.com/prometheus/client_golang/prometheus"
"sigs.k8s.io/controller-runtime/pkg/metrics"
)
var (
metricsPrefix = "capsule_"
TenantResourceUsage = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Name: metricsPrefix + "tenant_resource_usage",
Help: "Current resource usage for a given resource in a tenant",
}, []string{"tenant", "resource", "resourcequotaindex"})
TenantResourceLimit = prometheus.NewGaugeVec(prometheus.GaugeOpts{
Name: metricsPrefix + "tenant_resource_limit",
Help: "Current resource limit for a given resource in a tenant",
}, []string{"tenant", "resource", "resourcequotaindex"})
)
func init() {
metrics.Registry.MustRegister(
TenantResourceUsage,
TenantResourceLimit,
)
}