Skip to content

Commit cc7010c

Browse files
Store object in map on object termination (#112)
1 parent 4b97bcd commit cc7010c

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

status/controller.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import (
88
"sync"
99
"time"
1010

11-
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1211
"k8s.io/apimachinery/pkg/runtime"
1312
"k8s.io/apimachinery/pkg/runtime/schema"
1413

@@ -33,7 +32,7 @@ type Controller[T Object] struct {
3332
eventRecorder record.EventRecorder
3433
observedConditions sync.Map // map[reconcile.Request]ConditionSet
3534
observedFinalizers sync.Map // map[reconcile.Request]Finalizer
36-
terminatingObjects sync.Map // map[reconcile.Request]DeletionTimestamp
35+
terminatingObjects sync.Map // map[reconcile.Request]Object
3736
emitDeprecatedMetrics bool
3837
ConditionDuration pmetrics.ObservationMetric
3938
ConditionCount pmetrics.GaugeMetric
@@ -147,8 +146,8 @@ func (c *Controller[T]) reconcile(ctx context.Context, req reconcile.Request, o
147146
MetricLabelNamespace: req.Namespace,
148147
MetricLabelName: req.Name,
149148
})
150-
if deletionTS, ok := c.terminatingObjects.Load(req); ok {
151-
c.observeHistogram(c.TerminationDuration, TerminationDuration, time.Since(deletionTS.(*metav1.Time).Time).Seconds(), map[string]string{}, c.toAdditionalMetricLabels(o))
149+
if obj, ok := c.terminatingObjects.LoadAndDelete(req); ok {
150+
c.observeHistogram(c.TerminationDuration, TerminationDuration, time.Since(obj.(Object).GetDeletionTimestamp().Time).Seconds(), map[string]string{}, c.toAdditionalMetricLabels(obj.(Object)))
152151
}
153152
if finalizers, ok := c.observedFinalizers.LoadAndDelete(req); ok {
154153
for _, finalizer := range finalizers.([]string) {
@@ -173,7 +172,7 @@ func (c *Controller[T]) reconcile(ctx context.Context, req reconcile.Request, o
173172
MetricLabelNamespace: req.Namespace,
174173
MetricLabelName: req.Name,
175174
}, c.toAdditionalMetricLabels(o))
176-
c.terminatingObjects.Store(req, o.GetDeletionTimestamp())
175+
c.terminatingObjects.Store(req, o)
177176
}
178177

179178
// Detect and record condition counts

0 commit comments

Comments
 (0)