Skip to content

Commit b6015d5

Browse files
authored
Update a few deps (#982)
* eqalpha/keydb:x86_64_v6.3.4 * golang 1.24 * github.com/prometheus/client_golang v1.21.1 * golangci-lint 1.64 * upgrade to alpine:3.21 for exporter docker image * pin docker images * cleanup
1 parent 3eb0d6e commit b6015d5

File tree

12 files changed

+64
-74
lines changed

12 files changed

+64
-74
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Setup Go
1717
uses: actions/setup-go@v5
1818
with:
19-
go-version: '1.23'
19+
go-version: '1.24'
2020

2121
- name: Build binaries
2222
run: |

.github/workflows/tests.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
- name: Setup Go
3434
uses: actions/setup-go@v5
3535
with:
36-
go-version: '1.23'
36+
go-version: '1.24'
3737

3838
- name: Install Dependencies
3939
run: go mod tidy
@@ -91,15 +91,15 @@ jobs:
9191
- name: Setup Go
9292
uses: actions/setup-go@v5
9393
with:
94-
go-version: '1.23'
94+
go-version: '1.24'
9595

9696
- name: Install Dependencies
9797
run: go mod tidy
9898

9999
- name: golangci-lint
100100
uses: golangci/golangci-lint-action@v6
101101
with:
102-
version: v1.60
102+
version: v1.64
103103
args: "--tests=false"
104104

105105

@@ -112,7 +112,7 @@ jobs:
112112
- name: Setup Go
113113
uses: actions/setup-go@v5
114114
with:
115-
go-version: '1.23'
115+
go-version: '1.24'
116116

117117
- name: Install Dependencies
118118
run: go mod tidy

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ ARG TARGETPLATFORM
33
#
44
# build container
55
#
6-
FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder
6+
FROM --platform=$BUILDPLATFORM golang:1.24-alpine AS builder
77
WORKDIR /go/src/github.com/oliver006/redis_exporter/
88

99
ADD . /go/src/github.com/oliver006/redis_exporter/
@@ -40,7 +40,7 @@ ENTRYPOINT [ "/redis_exporter" ]
4040
#
4141
# Alpine release container
4242
#
43-
FROM alpine:3.20 AS alpine
43+
FROM alpine:3.21 AS alpine
4444

4545
COPY --from=builder /redis_exporter /redis_exporter
4646
COPY --from=builder /etc/ssl/certs /etc/ssl/certs

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ services:
6464
- "16380:6379"
6565

6666
pwd-redis6:
67-
image: redis:6
67+
image: redis:6.2
6868
command: "redis-server --requirepass dummy --user exporter on +CLIENT +INFO +SELECT +SLOWLOG +LATENCY '>exporter-password'"
6969
ports:
7070
- "16390:6379"
@@ -76,7 +76,7 @@ services:
7676
- "16381:6379"
7777

7878
keydb-01:
79-
image: "eqalpha/keydb:x86_64_v6.3.1"
79+
image: "eqalpha/keydb:x86_64_v6.3.4"
8080
command: "keydb-server --protected-mode no"
8181
ports:
8282
- "16401:6379"
@@ -100,7 +100,7 @@ services:
100100
- "17005:7005"
101101

102102
redis-cluster-password:
103-
image: bitnami/redis-cluster
103+
image: bitnami/redis-cluster:7.4
104104
environment:
105105
- REDIS_PORT_NUMBER=7006
106106
- REDIS_PASSWORD=redis-password

exporter/exporter_test.go

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ func setupKeys(t *testing.T, c redis.Conn, dbNumStr string) error {
133133
c.Do("XREADGROUP", "GROUP", "test_group_1", "test_consumer_2", "COUNT", "1", "STREAMS", TestKeysStreamName, ">")
134134
c.Do("XREADGROUP", "GROUP", "test_group_2", "test_consumer_1", "COUNT", "1", "STREAMS", TestKeysStreamName, "0")
135135

136+
time.Sleep(time.Millisecond * 100)
136137
return nil
137138
}
138139

@@ -160,42 +161,33 @@ func deleteKeys(c redis.Conn, dbNumStr string) {
160161
c.Do("DEL", singleStringKey)
161162
}
162163

163-
func setupDBKeys(t *testing.T, uri string) error {
164+
func setupDBKeys(t *testing.T, uri string) {
164165
c, err := redis.DialURL(uri)
165166
if err != nil {
166-
t.Errorf("couldn't setup redis for uri %s, err: %s ", uri, err)
167-
return err
167+
t.Fatalf("couldn't setup redis for uri %s, err: %s ", uri, err)
168+
return
168169
}
169170
defer c.Close()
170171

171-
err = setupKeys(t, c, dbNumStr)
172-
if err != nil {
173-
t.Errorf("couldn't setup redis, err: %s ", err)
174-
return err
172+
if err = setupKeys(t, c, dbNumStr); err != nil {
173+
t.Fatalf("couldn't setup redis, err: %s ", err)
175174
}
176-
177-
time.Sleep(time.Millisecond * 50)
178-
179-
return nil
180175
}
181176

182-
func setupDBKeysCluster(t *testing.T, uri string) error {
177+
func setupDBKeysCluster(t *testing.T, uri string) {
183178
e, _ := NewRedisExporter(uri, Options{})
184179
c, err := e.connectToRedisCluster()
185180
if err != nil {
186-
return err
181+
t.Fatalf("connectToRedisCluster() err: %s ", err)
182+
return
187183
}
188184

189185
defer c.Close()
190186

191187
if err = setupKeys(t, c, "0"); err != nil {
192-
t.Errorf("couldn't setup redis, err: %s ", err)
193-
return err
188+
t.Fatalf("couldn't setup redis, err: %s ", err)
189+
return
194190
}
195-
196-
time.Sleep(time.Millisecond * 50)
197-
198-
return nil
199191
}
200192

201193
func deleteKeysFromDB(t *testing.T, addr string) error {

exporter/keys.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ func (e *Exporter) extractCheckKeyMetrics(ch chan<- prometheus.Metric, c redis.C
173173
for _, k := range allKeys {
174174
if e.options.IsCluster {
175175
// Cluster mode only has one db
176-
// no need to run `SELECT" but got to set it to "0" here cause it's used further down as a label
176+
// no need to run `SELECT" but got to set it to "0" here because it's used further down as a label
177177
k.db = "0"
178178
} else {
179179
if k.db != lastDb {

exporter/keys_test.go

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ func TestKeyValuesAndSizes(t *testing.T) {
5555
}
5656

5757
func TestKeyValuesAsLabel(t *testing.T) {
58+
setupDBKeys(t, os.Getenv("TEST_REDIS_URI"))
59+
defer deleteKeysFromDB(t, os.Getenv("TEST_REDIS_URI"))
60+
5861
for _, exc := range []bool{true, false} {
5962
e, _ := NewRedisExporter(
6063
os.Getenv("TEST_REDIS_URI"),
@@ -65,10 +68,6 @@ func TestKeyValuesAsLabel(t *testing.T) {
6568
Registry: prometheus.NewRegistry()},
6669
)
6770
ts := httptest.NewServer(e)
68-
defer ts.Close()
69-
70-
setupDBKeys(t, os.Getenv("TEST_REDIS_URI"))
71-
defer deleteKeysFromDB(t, os.Getenv("TEST_REDIS_URI"))
7271

7372
chM := make(chan prometheus.Metric, 10000)
7473
go func() {
@@ -87,6 +86,7 @@ func TestKeyValuesAsLabel(t *testing.T) {
8786
t.Fatalf("didn't find %s with DisableExportingKeyValues disabled, body: %s", match, body)
8887
}
8988
}
89+
ts.Close()
9090
}
9191
}
9292

@@ -95,9 +95,10 @@ func TestClusterKeyValuesAndSizes(t *testing.T) {
9595
if clusterUri == "" {
9696
t.Skipf("Skipping TestClusterKeyValuesAndSizes, don't have env var TEST_REDIS_CLUSTER_MASTER_URI")
9797
}
98+
setupDBKeysCluster(t, clusterUri)
99+
defer deleteKeysFromDBCluster(clusterUri)
98100

99101
for _, exc := range []bool{true, false} {
100-
101102
e, _ := NewRedisExporter(
102103
clusterUri,
103104
Options{
@@ -111,11 +112,6 @@ func TestClusterKeyValuesAndSizes(t *testing.T) {
111112
},
112113
)
113114

114-
if err := setupDBKeysCluster(t, clusterUri); err != nil {
115-
t.Fatalf("setupDBKeysCluster() err: %s", err)
116-
}
117-
defer deleteKeysFromDBCluster(clusterUri)
118-
119115
chM := make(chan prometheus.Metric)
120116
go func() {
121117
e.Collect(chM)
@@ -531,13 +527,13 @@ func TestGetKeyInfo(t *testing.T) {
531527
for _, f := range fixtures {
532528
info, err := getKeyInfo(c, f.key, false)
533529
if err != nil {
534-
t.Errorf("Error getting key info for %#v.", f.key)
530+
t.Fatalf("Error getting key info for %#v.", f.key)
535531
}
536532

537533
expected := expectedSizes[f.key]
538534
if info.size != expected {
539-
t.Logf("%#v", info)
540535
t.Errorf("Wrong size for key: %#v. Expected: %#v; Actual: %#v", f.key, expected, info.size)
536+
t.Logf("info: %#v", info)
541537
}
542538
}
543539

@@ -672,9 +668,7 @@ func TestClusterGetKeyInfo(t *testing.T) {
672668
ts := httptest.NewServer(e)
673669
defer ts.Close()
674670

675-
if err := setupDBKeysCluster(t, clusterUri); err != nil {
676-
t.Fatalf("setupDBKeysCluster() err: %s", err)
677-
}
671+
setupDBKeysCluster(t, clusterUri)
678672
defer deleteKeysFromDBCluster(clusterUri)
679673

680674
chM := make(chan prometheus.Metric, 10000)

exporter/latency.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ func (e *Exporter) extractLatencyLatestMetrics(outChan chan<- prometheus.Metric,
4040
for _, l := range reply {
4141
if latencyResult, err := redis.Values(l, nil); err == nil {
4242
var eventName string
43-
var spikeLast, spikeDuration, max int64
44-
if _, err := redis.Scan(latencyResult, &eventName, &spikeLast, &spikeDuration, &max); err == nil {
43+
var spikeLast, spikeDuration, maxLatency int64
44+
if _, err := redis.Scan(latencyResult, &eventName, &spikeLast, &spikeDuration, &maxLatency); err == nil {
4545
spikeDurationSeconds := float64(spikeDuration) / 1e3
4646
e.registerConstMetricGauge(outChan, "latency_spike_last", float64(spikeLast), eventName)
4747
e.registerConstMetricGauge(outChan, "latency_spike_duration_seconds", spikeDurationSeconds, eventName)

exporter/redis_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -134,11 +134,11 @@ func TestPasswordInvalid(t *testing.T) {
134134
}
135135

136136
func TestConnectToClusterUsingPasswordFile(t *testing.T) {
137-
cluster_host := os.Getenv("TEST_REDIS_CLUSTER_PASSWORD_URI")
138-
if cluster_host == "" {
137+
clusterUri := os.Getenv("TEST_REDIS_CLUSTER_PASSWORD_URI")
138+
if clusterUri == "" {
139139
t.Skipf("TEST_REDIS_CLUSTER_PASSWORD_URI is not set")
140140
}
141-
passMap := map[string]string{cluster_host: "redis-password"}
141+
passMap := map[string]string{clusterUri: "redis-password"}
142142
wrongPassMap := map[string]string{"redis://redis-cluster-password-wrong:7006": "redis-password"}
143143

144144
tsts := []struct {
@@ -147,13 +147,13 @@ func TestConnectToClusterUsingPasswordFile(t *testing.T) {
147147
passMap map[string]string
148148
refreshError bool
149149
}{
150-
{name: "ConnectToCluster using passord file witch cluster mode", isCluster: true, passMap: passMap, refreshError: false},
150+
{name: "ConnectToCluster using password file with cluster mode", isCluster: true, passMap: passMap, refreshError: false},
151151
{name: "ConnectToCluster using password file without cluster mode", isCluster: false, passMap: passMap, refreshError: false},
152-
{name: "ConnectToCluster using password file witch cluster mode failed", isCluster: false, passMap: wrongPassMap, refreshError: true},
152+
{name: "ConnectToCluster using password file with cluster mode failed", isCluster: false, passMap: wrongPassMap, refreshError: true},
153153
}
154154
for _, tst := range tsts {
155155
t.Run(tst.name, func(t *testing.T) {
156-
e, _ := NewRedisExporter(cluster_host, Options{
156+
e, _ := NewRedisExporter(clusterUri, Options{
157157
SkipTLSVerification: true,
158158
PasswordMap: tst.passMap,
159159
IsCluster: tst.isCluster,

exporter/streams_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ func TestStreamsExtractStreamMetricsExcludeConsumer(t *testing.T) {
585585
"stream_group_lag": false,
586586
}
587587

588-
dont_want := map[string]bool{
588+
dontWant := map[string]bool{
589589
"stream_group_consumer_messages_pending": false,
590590
"stream_group_consumer_idle_seconds": false,
591591
}
@@ -599,12 +599,12 @@ func TestStreamsExtractStreamMetricsExcludeConsumer(t *testing.T) {
599599
want[k] = true
600600
}
601601
}
602-
for k := range dont_want {
602+
for k := range dontWant {
603603
log.Debugf("metric: %s", m.Desc().String())
604604
log.Debugf("don't want: %s", k)
605605

606606
if strings.Contains(m.Desc().String(), k) {
607-
dont_want[k] = true
607+
dontWant[k] = true
608608
}
609609
}
610610
}
@@ -614,7 +614,7 @@ func TestStreamsExtractStreamMetricsExcludeConsumer(t *testing.T) {
614614
t.Errorf("didn't find %s metric, which should be collected", k)
615615
}
616616
}
617-
for k, found := range dont_want {
617+
for k, found := range dontWant {
618618
if found {
619619
t.Errorf("found %s metric, which shouldn't be collected", k)
620620
}

0 commit comments

Comments
 (0)