in pkg/trimaran/handler.go [114:138]
func (p *PodAssignEventHandler) cleanupCache() {
p.Lock()
defer p.Unlock()
for nodeName := range p.ScheduledPodsCache {
cache := p.ScheduledPodsCache[nodeName]
curTime := time.Now()
idx := sort.Search(len(cache), func(i int) bool {
return cache[i].Timestamp.Add(metricsAgentReportingIntervalSeconds * time.Second).After(curTime)
})
if idx == len(cache) {
continue
}
n := copy(cache, cache[idx:])
for j := n; j < len(cache); j++ {
cache[j] = podInfo{}
}
cache = cache[:n]
if len(cache) == 0 {
delete(p.ScheduledPodsCache, nodeName)
} else {
p.ScheduledPodsCache[nodeName] = cache
}
}
}