package couchctl import ( "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promauto" "edge-infra.dev/pkg/k8s/runtime/controller/metrics" ) var ( DatabaseReplicationStatus = promauto.NewCounterVec(prometheus.CounterOpts{ Name: metrics.Name("couchctl", "database_replication_status"), Help: "information about database replication status", }, []string{"server_name", "db_name", "status", "message"}) DatabaseDocumentCount = promauto.NewGaugeVec(prometheus.GaugeOpts{ Name: metrics.Name("couchctl", "database_doc_count"), Help: "number of documents in a couchdb database", }, []string{"server_name", "db_name"}) DatabaseDiffDocumentCount = promauto.NewGaugeVec(prometheus.GaugeOpts{ Name: metrics.Name("couchctl", "database_diff_count"), Help: "difference in documents from the cloud couchdb database", }, []string{"server_name", "db_name"}) ) func DatabaseDocumentCountSet(servername, dbname string, count float64) { var l = prometheus.Labels{ "server_name": servername, "db_name": dbname, } DatabaseDocumentCount.With(l).Set(count) } func DatabaseDocumentDiffInc(servername, dbname string, count float64) { var l = prometheus.Labels{ "server_name": servername, "db_name": dbname, } DatabaseDiffDocumentCount.With(l).Set(count) } func ReplicationStatusInc(servername, dbname, status, message string) { var l = prometheus.Labels{ "server_name": servername, "db_name": dbname, "status": status, "message": message, } DatabaseReplicationStatus.With(l).Inc() }