From 3e7ccf7c48e2b070b3783d0e1cba6995e0a9a228 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20WENSKE?= Date: Fri, 4 Apr 2025 18:24:04 +0200 Subject: [PATCH] chore(model): add metric for total number of conflicts (#10037) --- lib/model/folder_sendrecv.go | 1 + lib/model/metrics.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/lib/model/folder_sendrecv.go b/lib/model/folder_sendrecv.go index 73e3ef184..613aa1ca2 100644 --- a/lib/model/folder_sendrecv.go +++ b/lib/model/folder_sendrecv.go @@ -1854,6 +1854,7 @@ func (f *sendReceiveFolder) moveForConflict(name, lastModBy string, scanChan cha return nil } + metricFolderConflictsTotal.WithLabelValues(f.ID).Inc() newName := conflictName(name, lastModBy) err := f.mtimefs.Rename(name, newName) if fs.IsNotExist(err) { diff --git a/lib/model/metrics.go b/lib/model/metrics.go index ad211aecb..6627d027b 100644 --- a/lib/model/metrics.go +++ b/lib/model/metrics.go @@ -57,6 +57,13 @@ var ( Name: "folder_processed_bytes_total", Help: "Total amount of data processed during folder syncing, per folder ID and data source (network/local_origin/local_other/local_shifted/skipped)", }, []string{"folder", "source"}) + + metricFolderConflictsTotal = promauto.NewCounterVec(prometheus.CounterOpts{ + Namespace: "syncthing", + Subsystem: "model", + Name: "folder_conflicts_total", + Help: "Total number of conflicts", + }, []string{"folder"}) ) const ( @@ -90,4 +97,5 @@ func registerFolderMetrics(folderID string) { metricFolderProcessedBytesTotal.WithLabelValues(folderID, metricSourceLocalOther) metricFolderProcessedBytesTotal.WithLabelValues(folderID, metricSourceLocalShifted) metricFolderProcessedBytesTotal.WithLabelValues(folderID, metricSourceSkipped) + metricFolderConflictsTotal.WithLabelValues(folderID) }