40 lines
1015 B
Go
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"},
|
|
),
|
|
}
|
|
}
|