mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2026-05-17 08:36:55 +03:00
vmagent: add metric for persistentqueue capacity
This commit adds new metric `vm_persistentqueue_free_disk_space_bytes`, which helps to track free space for persistent queue. part of implementation for https://github.com/VictoriaMetrics/VictoriaMetrics/issues/10193
This commit is contained in:
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/bytesutil"
|
||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fasttime"
|
||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/fs"
|
||||
"github.com/VictoriaMetrics/VictoriaMetrics/lib/logger"
|
||||
"github.com/VictoriaMetrics/metrics"
|
||||
)
|
||||
@@ -63,6 +64,15 @@ func MustOpenFastQueue(path, name string, maxInmemoryBlocks int, maxPendingBytes
|
||||
return float64(n)
|
||||
})
|
||||
|
||||
_ = metrics.GetOrCreateGauge(fmt.Sprintf(`vm_persistentqueue_free_disk_space_bytes{path=%q}`, path), func() float64 {
|
||||
freeSpaceBytes := fs.MustGetFreeSpace(path)
|
||||
// Limited by disk space if remoteWrite.maxDiskUsagePerURL wasn't set
|
||||
if maxPendingBytes == 0 {
|
||||
return float64(freeSpaceBytes)
|
||||
}
|
||||
return min(float64(maxPendingBytes), float64(freeSpaceBytes))
|
||||
})
|
||||
|
||||
pendingBytes := fq.GetPendingBytes()
|
||||
persistenceStatus := "enabled"
|
||||
if isPQDisabled {
|
||||
|
||||
Reference in New Issue
Block a user