2025-04-01 10:38:02 +09:00

40 lines
1015 B
Go

package rbac
import (
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promauto"
)
const (
metricsNamespace = "iam"
metricsSubSystem = "authz_direct_db_service"
)
type metrics struct {
requestCount *prometheus.CounterVec
permissionCacheUsage *prometheus.CounterVec
}
func newMetrics(reg prometheus.Registerer) *metrics {
return &metrics{
requestCount: promauto.With(reg).NewCounterVec(
prometheus.CounterOpts{
Namespace: metricsNamespace,
Subsystem: metricsSubSystem,
Name: "invalid_request_count",
Help: "AuthZ service invalid request count",
},
[]string{"is_error", "valid", "verb", "group", "resource"},
),
permissionCacheUsage: promauto.With(reg).NewCounterVec(
prometheus.CounterOpts{
Namespace: metricsNamespace,
Subsystem: metricsSubSystem,
Name: "permission_cache_usage",
Help: "AuthZ service permission cache usage",
},
[]string{"cache_hit", "action"},
),
}
}