From 1a58f7fc8d107eb7ef7fe7697ac1553cfead50a0 Mon Sep 17 00:00:00 2001 From: Philip Thompson Date: Thu, 22 Sep 2022 09:39:45 -0400 Subject: [PATCH] Remove all use of the name tag on metrics (#592) --- api/v1beta1/disruption_webhook.go | 1 - controllers/cache_handler.go | 6 +++--- controllers/disruption_controller.go | 14 +++++++------- metrics/datadog/datadog.go | 2 +- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/api/v1beta1/disruption_webhook.go b/api/v1beta1/disruption_webhook.go index 01813af8c..3865a0e8d 100644 --- a/api/v1beta1/disruption_webhook.go +++ b/api/v1beta1/disruption_webhook.go @@ -209,7 +209,6 @@ func (r *Disruption) ValidateDelete() error { func (r *Disruption) getMetricsTags() []string { tags := []string{ "disruptionName:" + r.Name, - "name:" + r.Name, "namespace:" + r.Namespace, } diff --git a/controllers/cache_handler.go b/controllers/cache_handler.go index e7eb95836..7b1fe822f 100644 --- a/controllers/cache_handler.go +++ b/controllers/cache_handler.go @@ -70,11 +70,11 @@ func (h DisruptionTargetWatcherHandler) OnUpdate(oldObj, newObj interface{}) { func (h DisruptionTargetWatcherHandler) OnChangeHandleMetricsSink(pod *corev1.Pod, node *corev1.Node, okPod, okNode bool) { switch { case okPod: - h.reconciler.handleMetricSinkError(h.reconciler.MetricsSink.MetricSelectorCacheTriggered([]string{"disruptionName:" + h.disruption.Name, "name:" + h.disruption.Name, "namespace:" + h.disruption.Namespace, "event:add", "targetKind:pod", "target:" + pod.Name})) + h.reconciler.handleMetricSinkError(h.reconciler.MetricsSink.MetricSelectorCacheTriggered([]string{"disruptionName:" + h.disruption.Name, "namespace:" + h.disruption.Namespace, "event:add", "targetKind:pod", "target:" + pod.Name})) case okNode: - h.reconciler.handleMetricSinkError(h.reconciler.MetricsSink.MetricSelectorCacheTriggered([]string{"disruptionName:" + h.disruption.Name, "name:" + h.disruption.Name, "namespace:" + h.disruption.Namespace, "event:add", "targetKind:node", "target:" + node.Name})) + h.reconciler.handleMetricSinkError(h.reconciler.MetricsSink.MetricSelectorCacheTriggered([]string{"disruptionName:" + h.disruption.Name, "namespace:" + h.disruption.Namespace, "event:add", "targetKind:node", "target:" + node.Name})) default: - h.reconciler.handleMetricSinkError(h.reconciler.MetricsSink.MetricSelectorCacheTriggered([]string{"disruptionName:" + h.disruption.Name, "name:" + h.disruption.Name, "namespace:" + h.disruption.Namespace, "event:add", "targetKind:object"})) + h.reconciler.handleMetricSinkError(h.reconciler.MetricsSink.MetricSelectorCacheTriggered([]string{"disruptionName:" + h.disruption.Name, "namespace:" + h.disruption.Namespace, "event:add", "targetKind:object"})) } } diff --git a/controllers/disruption_controller.go b/controllers/disruption_controller.go index 0c05a47f8..211bdae27 100644 --- a/controllers/disruption_controller.go +++ b/controllers/disruption_controller.go @@ -105,7 +105,7 @@ func (r *DisruptionReconciler) Reconcile(ctx context.Context, req ctrl.Request) return func() { tags := []string{} if instance.Name != "" { - tags = append(tags, "disruptionName:"+instance.Name, "name:"+instance.Name, "namespace:"+instance.Namespace) + tags = append(tags, "disruptionName:"+instance.Name, "namespace:"+instance.Namespace) } r.handleMetricSinkError(r.MetricsSink.MetricReconcileDuration(time.Since(tsStart), tags)) @@ -181,8 +181,8 @@ func (r *DisruptionReconciler) Reconcile(ctx context.Context, req ctrl.Request) } // send reconciling duration metric - r.handleMetricSinkError(r.MetricsSink.MetricCleanupDuration(time.Since(instance.ObjectMeta.DeletionTimestamp.Time), []string{"disruptionName:" + instance.Name, "name:" + instance.Name, "namespace:" + instance.Namespace})) - r.handleMetricSinkError(r.MetricsSink.MetricDisruptionCompletedDuration(time.Since(instance.ObjectMeta.CreationTimestamp.Time), []string{"disruptionName:" + instance.Name, "name:" + instance.Name, "namespace:" + instance.Namespace})) + r.handleMetricSinkError(r.MetricsSink.MetricCleanupDuration(time.Since(instance.ObjectMeta.DeletionTimestamp.Time), []string{"disruptionName:" + instance.Name, "namespace:" + instance.Namespace})) + r.handleMetricSinkError(r.MetricsSink.MetricDisruptionCompletedDuration(time.Since(instance.ObjectMeta.CreationTimestamp.Time), []string{"disruptionName:" + instance.Name, "namespace:" + instance.Namespace})) r.emitKindCountMetrics(instance) return ctrl.Result{}, nil @@ -268,7 +268,7 @@ func (r *DisruptionReconciler) Reconcile(ctx context.Context, req ctrl.Request) } // send injection duration metric representing the time it took to fully inject the disruption until its creation - r.handleMetricSinkError(r.MetricsSink.MetricInjectDuration(time.Since(instance.ObjectMeta.CreationTimestamp.Time), []string{"disruptionName:" + instance.Name, "name:" + instance.Name, "namespace:" + instance.Namespace})) + r.handleMetricSinkError(r.MetricsSink.MetricInjectDuration(time.Since(instance.ObjectMeta.CreationTimestamp.Time), []string{"disruptionName:" + instance.Name, "namespace:" + instance.Namespace})) // update resource status injection // requeue the request if the disruption is not fully injected yet @@ -1198,7 +1198,7 @@ func (r *DisruptionReconciler) recordEventOnDisruption(instance *chaosv1beta1.Di func (r *DisruptionReconciler) emitKindCountMetrics(instance *chaosv1beta1.Disruption) { for _, kind := range instance.Spec.GetKindNames() { - r.handleMetricSinkError(r.MetricsSink.MetricDisruptionsCount(kind, []string{"disruptionName:" + instance.Name, "name:" + instance.Name, "namespace:" + instance.Namespace})) + r.handleMetricSinkError(r.MetricsSink.MetricDisruptionsCount(kind, []string{"disruptionName:" + instance.Name, "namespace:" + instance.Namespace})) } } @@ -1350,7 +1350,7 @@ func (r *DisruptionReconciler) ReportMetrics() { if d.Status.IsStuckOnRemoval { stuckOnRemoval++ - if err := r.MetricsSink.MetricStuckOnRemoval([]string{"disruptionName:" + d.Name, "name:" + d.Name, "namespace:" + d.Namespace}); err != nil { + if err := r.MetricsSink.MetricStuckOnRemoval([]string{"disruptionName:" + d.Name, "namespace:" + d.Namespace}); err != nil { r.log.Errorw("error sending stuck_on_removal metric", "error", err) } } @@ -1362,7 +1362,7 @@ func (r *DisruptionReconciler) ReportMetrics() { chaosPodsCount += len(chaosPods) - r.handleMetricSinkError(r.MetricsSink.MetricDisruptionOngoingDuration(time.Since(d.ObjectMeta.CreationTimestamp.Time), []string{"disruptionName:" + d.Name, "name:" + d.Name, "namespace:" + d.Namespace})) + r.handleMetricSinkError(r.MetricsSink.MetricDisruptionOngoingDuration(time.Since(d.ObjectMeta.CreationTimestamp.Time), []string{"disruptionName:" + d.Name, "namespace:" + d.Namespace})) } // send metrics diff --git a/metrics/datadog/datadog.go b/metrics/datadog/datadog.go index 382f180bd..691e58cb8 100644 --- a/metrics/datadog/datadog.go +++ b/metrics/datadog/datadog.go @@ -118,7 +118,7 @@ func (d *Sink) MetricDisruptionOngoingDuration(duration time.Duration, tags []st // MetricPodsCreated increment pods.created metric func (d *Sink) MetricPodsCreated(target, instanceName, namespace string, succeed bool) error { status := boolToStatus(succeed) - tags := []string{"target:" + target, "disruptionName:" + instanceName, "name:" + instanceName, "status:" + status, "namespace:" + namespace} + tags := []string{"target:" + target, "disruptionName:" + instanceName, "status:" + status, "namespace:" + namespace} return d.metricWithStatus(metricPrefixController+"pods.created", tags) }