浏览代码

chore(model): add metric for total number of conflicts (#10037)

Sébastien WENSKE 6 月之前
父节点
当前提交
3e7ccf7c48
共有 2 个文件被更改,包括 9 次插入0 次删除
  1. 1 0
      lib/model/folder_sendrecv.go
  2. 8 0
      lib/model/metrics.go

+ 1 - 0
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) {

+ 8 - 0
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)
 }