summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/redis/collect_ping_latency.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/go/collectors/go.d.plugin/modules/redis/collect_ping_latency.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/redis/collect_ping_latency.go b/src/go/collectors/go.d.plugin/modules/redis/collect_ping_latency.go
new file mode 100644
index 000000000..063673c2c
--- /dev/null
+++ b/src/go/collectors/go.d.plugin/modules/redis/collect_ping_latency.go
@@ -0,0 +1,27 @@
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+package redis
+
+import (
+ "context"
+ "time"
+)
+
+func (r *Redis) collectPingLatency(mx map[string]int64) {
+ r.pingSummary.Reset()
+
+ for i := 0; i < r.PingSamples; i++ {
+ now := time.Now()
+ _, err := r.rdb.Ping(context.Background()).Result()
+ elapsed := time.Since(now)
+
+ if err != nil {
+ r.Debug(err)
+ continue
+ }
+
+ r.pingSummary.Observe(float64(elapsed.Microseconds()))
+ }
+
+ r.pingSummary.WriteTo(mx, "ping_latency", 1, 1)
+}