diff --git a/pkg/metrics/mem/server.go b/pkg/metrics/mem/server.go index f3c8559c3e38e2303554838085ee0aefeca1fab1..55d8daf120aa6f8dda28ff868318eac0db54d1cd 100644 --- a/pkg/metrics/mem/server.go +++ b/pkg/metrics/mem/server.go @@ -69,7 +69,9 @@ func (m *serverMetrics) clearUselessInfo() { m.mu.Lock() defer m.mu.Unlock() for name, data := range m.info.ProxyStatistics { - if !data.LastCloseTime.IsZero() && time.Since(data.LastCloseTime) > time.Duration(7*24)*time.Hour { + if !data.LastCloseTime.IsZero() && + data.LastStartTime.Before(data.LastCloseTime) && + time.Since(data.LastCloseTime) > time.Duration(7*24)*time.Hour { delete(m.info.ProxyStatistics, name) log.Trace("clear proxy [%s]'s statistics data, lastCloseTime: [%s]", name, data.LastCloseTime.String()) }