forked from oliver006/redis_exporter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtile38.go
33 lines (26 loc) · 739 Bytes
/
tile38.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package exporter
import (
"strings"
"github.com/gomodule/redigo/redis"
"github.com/prometheus/client_golang/prometheus"
log "github.com/sirupsen/logrus"
)
func (e *Exporter) extractTile38Metrics(ch chan<- prometheus.Metric, c redis.Conn) {
info, err := redis.Strings(doRedisCmd(c, "SERVER", "EXT"))
if err != nil {
log.Errorf("extractTile38Metrics() err: %s", err)
return
}
for i := 0; i < len(info); i += 2 {
fieldKey := info[i]
if !strings.HasPrefix(fieldKey, "tile38_") {
fieldKey = "tile38_" + fieldKey
}
fieldValue := info[i+1]
log.Debugf("tile38 key:%s val:%s", fieldKey, fieldValue)
if !e.includeMetric(fieldKey) {
continue
}
e.parseAndRegisterConstMetric(ch, fieldKey, fieldValue)
}
}