Skip to content

Commit

Permalink
Remove all use of the name tag on metrics (DataDog#592)
Browse files Browse the repository at this point in the history
  • Loading branch information
ptnapoleon authored Sep 22, 2022
1 parent 52e71e0 commit 1a58f7f
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 12 deletions.
1 change: 0 additions & 1 deletion api/v1beta1/disruption_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -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,
}

Expand Down
6 changes: 3 additions & 3 deletions controllers/cache_handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"}))
}
}

Expand Down
14 changes: 7 additions & 7 deletions controllers/disruption_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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}))
}
}

Expand Down Expand Up @@ -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)
}
}
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion metrics/datadog/datadog.go
Original file line number Diff line number Diff line change
Expand Up @@ -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)
}
Expand Down

0 comments on commit 1a58f7f

Please sign in to comment.