Skip to content

Commit 05d108c

Browse files
committed
FFM-11660 Add a stop clearing method
1 parent 8ea7502 commit 05d108c

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

analyticsservice/analytics.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ type SafeSeenTargetsCache[K comparable, V any] interface {
5151
SafeAnalyticsCache[K, V]
5252
setWithLimit(key K, value V)
5353
isLimitExceeded() bool
54+
stopClearing()
5455
}
5556

5657
type analyticsEvent struct {
@@ -110,6 +111,8 @@ func (as *AnalyticsService) startTimer(ctx context.Context) {
110111
timeStamp := time.Now().UnixNano() / (int64(time.Millisecond) / int64(time.Nanosecond))
111112
as.sendDataAndResetCache(ctx, timeStamp)
112113
case <-ctx.Done():
114+
close(as.analyticsChan)
115+
as.seenTargets.stopClearing()
113116
as.logger.Infof("%s Metrics stopped", sdk_codes.MetricsStopped)
114117
return
115118
}

analyticsservice/safe_seen_targets_map.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,16 @@ func (s *safeSeenTargets) iterate(f func(string, bool)) {
9090
}
9191
}
9292

93+
func (s *safeSeenTargets) stopClearing() {
94+
s.Lock()
95+
defer s.Unlock()
96+
97+
if s.clearingTimer != nil {
98+
s.clearingTimer.Stop()
99+
s.clearingTimer = nil
100+
}
101+
}
102+
93103
func (s *safeSeenTargets) isLimitExceeded() bool {
94104
return s.limitExceeded.Load()
95105
}

0 commit comments

Comments
 (0)