Explorar o código

cmd/stcrashreceiver: Add metrics for diskstore inventory

Jakob Borg %!s(int64=2) %!d(string=hai) anos
pai
achega
2ae15aa454
Modificáronse 2 ficheiros con 26 adicións e 0 borrados
  1. 11 0
      cmd/stcrashreceiver/diskstore.go
  2. 15 0
      cmd/stcrashreceiver/metrics.go

+ 11 - 0
cmd/stcrashreceiver/diskstore.go

@@ -12,6 +12,7 @@ import (
 	"context"
 	"io"
 	"log"
+	"math"
 	"os"
 	"path/filepath"
 	"sort"
@@ -147,6 +148,11 @@ func (d *diskStore) clean() {
 	if len(d.currentFiles) > 0 {
 		oldest = time.Since(time.Unix(d.currentFiles[0].mtime, 0)).Truncate(time.Minute)
 	}
+
+	metricDiskstoreFilesTotal.Set(float64(len(d.currentFiles)))
+	metricDiskstoreBytesTotal.Set(float64(d.currentSize))
+	metricDiskstoreOldestAgeSeconds.Set(math.Round(oldest.Seconds()))
+
 	log.Printf("Clean complete: %d files, %d MB, oldest is %v ago", len(d.currentFiles), d.currentSize>>20, oldest)
 }
 
@@ -178,6 +184,11 @@ func (d *diskStore) inventory() error {
 	if len(d.currentFiles) > 0 {
 		oldest = time.Since(time.Unix(d.currentFiles[0].mtime, 0)).Truncate(time.Minute)
 	}
+
+	metricDiskstoreFilesTotal.Set(float64(len(d.currentFiles)))
+	metricDiskstoreBytesTotal.Set(float64(d.currentSize))
+	metricDiskstoreOldestAgeSeconds.Set(math.Round(oldest.Seconds()))
+
 	log.Printf("Inventory complete: %d files, %d MB, oldest is %v ago", len(d.currentFiles), d.currentSize>>20, oldest)
 	return err
 }

+ 15 - 0
cmd/stcrashreceiver/metrics.go

@@ -22,4 +22,19 @@ var (
 		Subsystem: "crashreceiver",
 		Name:      "failure_reports_total",
 	}, []string{"result"})
+	metricDiskstoreFilesTotal = promauto.NewGauge(prometheus.GaugeOpts{
+		Namespace: "syncthing",
+		Subsystem: "crashreceiver",
+		Name:      "diskstore_files_total",
+	})
+	metricDiskstoreBytesTotal = promauto.NewGauge(prometheus.GaugeOpts{
+		Namespace: "syncthing",
+		Subsystem: "crashreceiver",
+		Name:      "diskstore_bytes_total",
+	})
+	metricDiskstoreOldestAgeSeconds = promauto.NewGauge(prometheus.GaugeOpts{
+		Namespace: "syncthing",
+		Subsystem: "crashreceiver",
+		Name:      "diskstore_oldest_age_seconds",
+	})
 )