diff --git a/exporter/redis.go b/exporter/redis.go index cd0d8e48..03a15225 100644 --- a/exporter/redis.go +++ b/exporter/redis.go @@ -471,7 +471,7 @@ func (e *Exporter) extractInfoMetrics(info, addr string, alias string, scrapes c continue } if fieldKey == "uptime_in_seconds" { - if uptime, err := extractVal(fieldValue); err != nil { + if uptime, err := strconv.ParseFloat(fieldValue, 64); err == nil { e.metricsMtx.RLock() e.metrics["start_time_seconds"].WithLabelValues(addr, alias).Set(float64(time.Now().Unix()) - uptime) e.metricsMtx.RUnlock() diff --git a/exporter/redis_test.go b/exporter/redis_test.go index fa6fbdf0..6fe19abe 100644 --- a/exporter/redis_test.go +++ b/exporter/redis_test.go @@ -327,6 +327,8 @@ func TestExporterMetrics(t *testing.T) { "config_maxmemory", // testing config extraction "config_maxclients", // testing config extraction "slowlog_length", + "start_time_seconds", + "uptime_in_seconds", } for _, k := range wantKeys {