8
8
"sync"
9
9
"time"
10
10
11
- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
12
11
"k8s.io/apimachinery/pkg/runtime"
13
12
"k8s.io/apimachinery/pkg/runtime/schema"
14
13
@@ -33,7 +32,7 @@ type Controller[T Object] struct {
33
32
eventRecorder record.EventRecorder
34
33
observedConditions sync.Map // map[reconcile.Request]ConditionSet
35
34
observedFinalizers sync.Map // map[reconcile.Request]Finalizer
36
- terminatingObjects sync.Map // map[reconcile.Request]DeletionTimestamp
35
+ terminatingObjects sync.Map // map[reconcile.Request]Object
37
36
emitDeprecatedMetrics bool
38
37
ConditionDuration pmetrics.ObservationMetric
39
38
ConditionCount pmetrics.GaugeMetric
@@ -147,8 +146,8 @@ func (c *Controller[T]) reconcile(ctx context.Context, req reconcile.Request, o
147
146
MetricLabelNamespace : req .Namespace ,
148
147
MetricLabelName : req .Name ,
149
148
})
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 ) ))
152
151
}
153
152
if finalizers , ok := c .observedFinalizers .LoadAndDelete (req ); ok {
154
153
for _ , finalizer := range finalizers .([]string ) {
@@ -173,7 +172,7 @@ func (c *Controller[T]) reconcile(ctx context.Context, req reconcile.Request, o
173
172
MetricLabelNamespace : req .Namespace ,
174
173
MetricLabelName : req .Name ,
175
174
}, c .toAdditionalMetricLabels (o ))
176
- c .terminatingObjects .Store (req , o . GetDeletionTimestamp () )
175
+ c .terminatingObjects .Store (req , o )
177
176
}
178
177
179
178
// Detect and record condition counts
0 commit comments