mirror of
https://github.com/kyverno/kyverno.git
synced 2025-03-10 18:06:55 +00:00
* Add metric "kyverno_kube_client_queries_total" Signed-off-by: ShutingZhao <shuting@nirmata.com> * publish metric for missing queries Signed-off-by: ShutingZhao <shuting@nirmata.com> * Refactor the way Kyverno registers QPS metric Signed-off-by: ShutingZhao <shuting@nirmata.com> * Move clientsets to a dedicated folder Signed-off-by: ShutingZhao <shuting@nirmata.com> * Wrap Kyverno client and policyreport client to register client query metric Signed-off-by: ShutingZhao <shuting@nirmata.com> * address linter comments Signed-off-by: ShutingZhao <shuting@nirmata.com> * address linter comments Signed-off-by: ShutingZhao <shuting@nirmata.com> * Switch to use wrapper clients Signed-off-by: ShutingZhao <shuting@nirmata.com> Signed-off-by: ShutingZhao <shuting@nirmata.com> Co-authored-by: Vyankatesh Kudtarkar <vyankateshkd@gmail.com>
24 lines
739 B
Go
24 lines
739 B
Go
package utils
|
|
|
|
import "github.com/kyverno/kyverno/pkg/metrics"
|
|
|
|
type ClientQueryMetric interface {
|
|
Record(clientQueryOperation metrics.ClientQueryOperation, clientType metrics.ClientType, resourceKind string, resourceNamespace string)
|
|
}
|
|
|
|
type metricsConfig struct {
|
|
metricsConfig *metrics.MetricsConfig
|
|
}
|
|
|
|
func NewClientQueryMetric(m *metrics.MetricsConfig) ClientQueryMetric {
|
|
return &metricsConfig{
|
|
metricsConfig: m,
|
|
}
|
|
}
|
|
|
|
func (c *metricsConfig) Record(clientQueryOperation metrics.ClientQueryOperation, clientType metrics.ClientType, resourceKind string, resourceNamespace string) {
|
|
if c.metricsConfig == nil {
|
|
return
|
|
}
|
|
c.metricsConfig.RecordClientQueries(clientQueryOperation, clientType, resourceKind, resourceNamespace)
|
|
}
|