Skip to content

Commit c8765e8

Browse files
authored
update otel and fix failing tests (#1078)
Signed-off-by: Ashish Tiwari <ashishjaitiwari15112000@gmail.com>
1 parent 6bcd4d2 commit c8765e8

3 files changed

Lines changed: 71 additions & 67 deletions

File tree

go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,14 @@ require (
2626
github.com/prometheus/client_model v0.6.1
2727
github.com/prometheus/statsd_exporter v0.26.1
2828
github.com/sirupsen/logrus v1.9.3
29-
github.com/stretchr/testify v1.10.0
29+
github.com/stretchr/testify v1.11.1
3030
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0
31-
go.opentelemetry.io/otel v1.36.0
31+
go.opentelemetry.io/otel v1.40.0
3232
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0
3333
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.28.0
3434
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0
35-
go.opentelemetry.io/otel/sdk v1.36.0
36-
go.opentelemetry.io/otel/trace v1.36.0
35+
go.opentelemetry.io/otel/sdk v1.40.0
36+
go.opentelemetry.io/otel/trace v1.40.0
3737
golang.org/x/net v0.42.0
3838
google.golang.org/grpc v1.74.2
3939
google.golang.org/protobuf v1.36.10
@@ -62,10 +62,10 @@ require (
6262
github.com/stretchr/objx v0.5.2 // indirect
6363
github.com/tilinna/clock v1.0.2 // indirect
6464
github.com/yuin/gopher-lua v1.1.1 // indirect
65-
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
66-
go.opentelemetry.io/otel/metric v1.36.0 // indirect
65+
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
66+
go.opentelemetry.io/otel/metric v1.40.0 // indirect
6767
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
68-
golang.org/x/sys v0.34.0 // indirect
68+
golang.org/x/sys v0.40.0 // indirect
6969
golang.org/x/text v0.27.0 // indirect
7070
google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a // indirect
7171
google.golang.org/genproto/googleapis/rpc v0.0.0-20250728155136-f173205681a0 // indirect

go.sum

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k
122122
github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
123123
github.com/prometheus/statsd_exporter v0.26.1 h1:ucbIAdPmwAUcA+dU+Opok8Qt81Aw8HanlO+2N/Wjv7w=
124124
github.com/prometheus/statsd_exporter v0.26.1/go.mod h1:XlDdjAmRmx3JVvPPYuFNUg+Ynyb5kR69iPPkQjxXFMk=
125-
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
126-
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
125+
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
126+
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
127127
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
128128
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
129129
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
@@ -142,35 +142,35 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
142142
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
143143
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
144144
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
145-
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
146-
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
145+
github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U=
146+
github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U=
147147
github.com/tilinna/clock v1.0.2 h1:6BO2tyAC9JbPExKH/z9zl44FLu1lImh3nDNKA0kgrkI=
148148
github.com/tilinna/clock v1.0.2/go.mod h1:ZsP7BcY7sEEz7ktc0IVy8Us6boDrK8VradlKRUGfOao=
149149
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
150150
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
151151
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
152152
github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M=
153153
github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw=
154-
go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
155-
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
154+
go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64=
155+
go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y=
156156
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0 h1:9G6E0TXzGFVfTnawRzrPl83iHOAV7L8NJiR8RSGYV1g=
157157
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.53.0/go.mod h1:azvtTADFQJA8mX80jIH/akaE7h+dbm/sVuaHqN13w74=
158-
go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg=
159-
go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E=
158+
go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms=
159+
go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g=
160160
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0 h1:3Q/xZUyC1BBkualc9ROb4G8qkH90LXEIICcs5zv1OYY=
161161
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0/go.mod h1:s75jGIWA9OfCMzF0xr+ZgfrB5FEbbV7UuYo32ahUiFI=
162162
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.28.0 h1:R3X6ZXmNPRR8ul6i3WgFURCHzaXjHdm0karRG/+dj3s=
163163
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.28.0/go.mod h1:QWFXnDavXWwMx2EEcZsf3yxgEKAqsxQ+Syjp+seyInw=
164164
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0 h1:QY7/0NeRPKlzusf40ZE4t1VlMKbqSNT7cJRYzWuja0s=
165165
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.27.0/go.mod h1:HVkSiDhTM9BoUJU8qE6j2eSWLLXvi1USXjyd2BXT8PY=
166-
go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE=
167-
go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs=
168-
go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs=
169-
go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY=
170-
go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis=
171-
go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4=
172-
go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w=
173-
go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA=
166+
go.opentelemetry.io/otel/metric v1.40.0 h1:rcZe317KPftE2rstWIBitCdVp89A2HqjkxR3c11+p9g=
167+
go.opentelemetry.io/otel/metric v1.40.0/go.mod h1:ib/crwQH7N3r5kfiBZQbwrTge743UDc7DTFVZrrXnqc=
168+
go.opentelemetry.io/otel/sdk v1.40.0 h1:KHW/jUzgo6wsPh9At46+h4upjtccTmuZCFAc9OJ71f8=
169+
go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE=
170+
go.opentelemetry.io/otel/sdk/metric v1.40.0 h1:mtmdVqgQkeRxHgRv4qhyJduP3fYJRMX4AtAlbuWdCYw=
171+
go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg=
172+
go.opentelemetry.io/otel/trace v1.40.0 h1:WA4etStDttCSYuhwvEa8OP8I5EWu24lkOzp+ZYblVjw=
173+
go.opentelemetry.io/otel/trace v1.40.0/go.mod h1:zeAhriXecNGP/s2SEG3+Y8X9ujcJOTqQ5RgdEJcawiA=
174174
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0=
175175
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8=
176176
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
@@ -222,8 +222,8 @@ golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7w
222222
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
223223
golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
224224
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
225-
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
226-
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
225+
golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
226+
golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
227227
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
228228
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
229229
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
Lines changed: 46 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package prom
22

33
import (
4+
"reflect"
45
"testing"
56
"time"
67

78
"github.com/prometheus/client_golang/prometheus"
89
dto "github.com/prometheus/client_model/go"
910
"github.com/stretchr/testify/assert"
10-
"github.com/stretchr/testify/require"
1111
)
1212

1313
var s = NewPrometheusSink()
@@ -16,21 +16,21 @@ func TestFlushCounter(t *testing.T) {
1616
s.FlushCounter("ratelimit_server.ShouldRateLimit.total_requests", 1)
1717
assert.Eventually(t, func() bool {
1818
metricFamilies, err := prometheus.DefaultGatherer.Gather()
19-
require.NoError(t, err)
19+
if err != nil {
20+
return false
21+
}
2022

2123
metrics := make(map[string]*dto.MetricFamily)
2224
for _, metricFamily := range metricFamilies {
2325
metrics[*metricFamily.Name] = metricFamily
2426
}
2527

2628
m, ok := metrics["ratelimit_service_total_requests"]
27-
require.True(t, ok)
28-
require.Len(t, m.Metric, 1)
29-
require.Equal(t, map[string]string{
30-
"grpc_method": "ShouldRateLimit",
31-
}, toMap(m.Metric[0].Label))
32-
require.Equal(t, 1.0, *m.Metric[0].Counter.Value)
33-
return true
29+
if !ok || len(m.Metric) != 1 {
30+
return false
31+
}
32+
return toMap(m.Metric[0].Label)["grpc_method"] == "ShouldRateLimit" &&
33+
*m.Metric[0].Counter.Value == 1.0
3434
}, time.Second, time.Millisecond)
3535
}
3636

@@ -49,71 +49,75 @@ func TestFlushCounterWithDifferentLabels(t *testing.T) {
4949
s.FlushCounter("ratelimit.service.rate_limit.domain1.key3_val3.key4_val4.key5_val5.over_limit", 2)
5050
assert.Eventually(t, func() bool {
5151
metricFamilies, err := prometheus.DefaultGatherer.Gather()
52-
require.NoError(t, err)
52+
if err != nil {
53+
return false
54+
}
5355

5456
metrics := make(map[string]*dto.MetricFamily)
5557
for _, metricFamily := range metricFamilies {
5658
metrics[*metricFamily.Name] = metricFamily
5759
}
5860

5961
m, ok := metrics["ratelimit_service_rate_limit_over_limit"]
60-
require.True(t, ok)
61-
require.Len(t, m.Metric, 3)
62-
require.Equal(t, 1.0, *m.Metric[0].Counter.Value)
63-
require.Equal(t, map[string]string{
64-
"domain": "domain1",
65-
"key1": "key1_val1",
66-
}, toMap(m.Metric[0].Label))
67-
require.Equal(t, 2.0, *m.Metric[1].Counter.Value)
68-
require.Equal(t, map[string]string{
69-
"domain": "domain1",
70-
"key1": "key1_val1",
71-
"key2": "key2_val2",
72-
}, toMap(m.Metric[1].Label))
73-
require.Equal(t, 3.0, *m.Metric[2].Counter.Value)
74-
require.Equal(t, map[string]string{
75-
"domain": "domain1",
76-
"key1": "key3_val3",
77-
"key2": "key4_val4",
78-
}, toMap(m.Metric[2].Label))
79-
return true
62+
if !ok || len(m.Metric) != 3 {
63+
return false
64+
}
65+
return *m.Metric[0].Counter.Value == 1.0 &&
66+
reflect.DeepEqual(toMap(m.Metric[0].Label), map[string]string{
67+
"domain": "domain1",
68+
"key1": "key1_val1",
69+
}) &&
70+
*m.Metric[1].Counter.Value == 2.0 &&
71+
reflect.DeepEqual(toMap(m.Metric[1].Label), map[string]string{
72+
"domain": "domain1",
73+
"key1": "key1_val1",
74+
"key2": "key2_val2",
75+
}) &&
76+
*m.Metric[2].Counter.Value == 3.0 &&
77+
reflect.DeepEqual(toMap(m.Metric[2].Label), map[string]string{
78+
"domain": "domain1",
79+
"key1": "key3_val3",
80+
"key2": "key4_val4",
81+
})
8082
}, time.Second, time.Millisecond)
8183
}
8284

8385
func TestFlushGauge(t *testing.T) {
8486
s.FlushGauge("ratelimit.service.rate_limit.domain1.key1.test_gauge", 1)
8587
metricFamilies, err := prometheus.DefaultGatherer.Gather()
86-
require.NoError(t, err)
88+
assert.NoError(t, err)
8789

8890
metrics := make(map[string]*dto.MetricFamily)
8991
for _, metricFamily := range metricFamilies {
9092
metrics[*metricFamily.Name] = metricFamily
9193
}
9294

9395
_, ok := metrics["ratelimit_service_rate_limit_test_gauge"]
94-
require.False(t, ok)
96+
assert.False(t, ok)
9597
}
9698

9799
func TestFlushTimer(t *testing.T) {
98100
s.FlushTimer("ratelimit.service.rate_limit.mongo_cps.database_users.total_hits", 1)
99101
assert.Eventually(t, func() bool {
100102
metricFamilies, err := prometheus.DefaultGatherer.Gather()
101-
require.NoError(t, err)
103+
if err != nil {
104+
return false
105+
}
102106

103107
metrics := make(map[string]*dto.MetricFamily)
104108
for _, metricFamily := range metricFamilies {
105109
metrics[*metricFamily.Name] = metricFamily
106110
}
107111

108112
m, ok := metrics["ratelimit_service_rate_limit_total_hits"]
109-
require.True(t, ok)
110-
require.Len(t, m.Metric, 1)
111-
require.Equal(t, uint64(1), *m.Metric[0].Histogram.SampleCount)
112-
require.Equal(t, map[string]string{
113-
"domain": "mongo_cps",
114-
"key1": "database_users",
115-
}, toMap(m.Metric[0].Label))
116-
require.Equal(t, 1.0, *m.Metric[0].Histogram.SampleSum)
117-
return true
113+
if !ok || len(m.Metric) != 1 {
114+
return false
115+
}
116+
return *m.Metric[0].Histogram.SampleCount == uint64(1) &&
117+
reflect.DeepEqual(toMap(m.Metric[0].Label), map[string]string{
118+
"domain": "mongo_cps",
119+
"key1": "database_users",
120+
}) &&
121+
*m.Metric[0].Histogram.SampleSum == 1.0
118122
}, time.Second, time.Millisecond)
119123
}

0 commit comments

Comments
 (0)