diff --git a/main.go b/main.go index 5625ae2..f3bbdea 100644 --- a/main.go +++ b/main.go @@ -57,6 +57,8 @@ func main() { func RecordMetrics(m Metrics) { for { + m.Reset() + entries, err := os.ReadDir(*backupDir) if err != nil { log.Fatalln(err) diff --git a/metrics.go b/metrics.go index c82da12..2bd005c 100644 --- a/metrics.go +++ b/metrics.go @@ -41,3 +41,18 @@ func NewMetrics(reg prometheus.Registerer) *Metrics { return metrics } + +// Reset all metrics +// +// This should be called on every loop iteration. +func (m *Metrics) Reset() { + m.ArchiveCount.Reset() + m.LastArchiveTime.Reset() + m.LastModified.Reset() + m.TotalChunks.Reset() + m.TotalCsize.Reset() + m.TotalSize.Reset() + m.TotalUniqueChunks.Reset() + m.UniqueCsize.Reset() + m.UniqueSize.Reset() +}