diff options
Diffstat (limited to 'src/go/collectors/go.d.plugin/modules/redis/collect_ping_latency.go')
-rw-r--r-- | src/go/collectors/go.d.plugin/modules/redis/collect_ping_latency.go | 27 |
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) +} |