Skip to content

Commit 4dff82a

Browse files
authored
Bump prometheus dependences (open-telemetry#2691)
1 parent 1e80370 commit 4dff82a

File tree

6 files changed

+251
-151
lines changed

6 files changed

+251
-151
lines changed

cmd/otel-allocator/config/config_test.go

+24-12
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ import (
2929
"github.com/stretchr/testify/assert"
3030
)
3131

32+
var defaultScrapeProtocols = []promconfig.ScrapeProtocol{
33+
promconfig.OpenMetricsText1_0_0,
34+
promconfig.OpenMetricsText0_0_1,
35+
promconfig.PrometheusText0_0_4,
36+
}
37+
3238
func TestLoad(t *testing.T) {
3339
type args struct {
3440
file string
@@ -59,17 +65,20 @@ func TestLoad(t *testing.T) {
5965
PromConfig: &promconfig.Config{
6066
GlobalConfig: promconfig.GlobalConfig{
6167
ScrapeInterval: model.Duration(60 * time.Second),
68+
ScrapeProtocols: defaultScrapeProtocols,
6269
ScrapeTimeout: model.Duration(10 * time.Second),
6370
EvaluationInterval: model.Duration(60 * time.Second),
6471
},
6572
ScrapeConfigs: []*promconfig.ScrapeConfig{
6673
{
67-
JobName: "prometheus",
68-
HonorTimestamps: true,
69-
ScrapeInterval: model.Duration(60 * time.Second),
70-
ScrapeTimeout: model.Duration(10 * time.Second),
71-
MetricsPath: "/metrics",
72-
Scheme: "http",
74+
JobName: "prometheus",
75+
EnableCompression: true,
76+
HonorTimestamps: true,
77+
ScrapeInterval: model.Duration(60 * time.Second),
78+
ScrapeProtocols: defaultScrapeProtocols,
79+
ScrapeTimeout: model.Duration(10 * time.Second),
80+
MetricsPath: "/metrics",
81+
Scheme: "http",
7382
HTTPClientConfig: commonconfig.HTTPClientConfig{
7483
FollowRedirects: true,
7584
EnableHTTP2: true,
@@ -137,17 +146,20 @@ func TestLoad(t *testing.T) {
137146
PromConfig: &promconfig.Config{
138147
GlobalConfig: promconfig.GlobalConfig{
139148
ScrapeInterval: model.Duration(60 * time.Second),
149+
ScrapeProtocols: defaultScrapeProtocols,
140150
ScrapeTimeout: model.Duration(10 * time.Second),
141151
EvaluationInterval: model.Duration(60 * time.Second),
142152
},
143153
ScrapeConfigs: []*promconfig.ScrapeConfig{
144154
{
145-
JobName: "prometheus",
146-
HonorTimestamps: true,
147-
ScrapeInterval: model.Duration(60 * time.Second),
148-
ScrapeTimeout: model.Duration(10 * time.Second),
149-
MetricsPath: "/metrics",
150-
Scheme: "http",
155+
JobName: "prometheus",
156+
EnableCompression: true,
157+
HonorTimestamps: true,
158+
ScrapeInterval: model.Duration(60 * time.Second),
159+
ScrapeProtocols: defaultScrapeProtocols,
160+
ScrapeTimeout: model.Duration(10 * time.Second),
161+
MetricsPath: "/metrics",
162+
Scheme: "http",
151163
HTTPClientConfig: commonconfig.HTTPClientConfig{
152164
FollowRedirects: true,
153165
EnableHTTP2: true,

cmd/otel-allocator/main.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,12 @@ func main() {
8989
srv := server.NewServer(log, allocator, cfg.ListenAddr)
9090

9191
discoveryCtx, discoveryCancel := context.WithCancel(ctx)
92-
discoveryManager = discovery.NewManager(discoveryCtx, gokitlog.NewNopLogger())
93-
discovery.RegisterMetrics() // discovery manager metrics need to be enabled explicitly
92+
sdMetrics, err := discovery.CreateAndRegisterSDMetrics(prometheus.DefaultRegisterer)
93+
if err != nil {
94+
setupLog.Error(err, "Unable to register metrics for Prometheus service discovery")
95+
os.Exit(1)
96+
}
97+
discoveryManager = discovery.NewManager(discoveryCtx, gokitlog.NewNopLogger(), prometheus.DefaultRegisterer, sdMetrics)
9498

9599
targetDiscoverer = target.NewDiscoverer(log, discoveryManager, allocatorPrehook, srv)
96100
collectorWatcher, collectorWatcherErr := collector.NewClient(log, cfg.ClusterConfig)

cmd/otel-allocator/target/discovery_test.go

+29-4
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"time"
2424

2525
gokitlog "github.com/go-kit/log"
26+
"github.com/prometheus/client_golang/prometheus"
2627
commonconfig "github.com/prometheus/common/config"
2728
"github.com/prometheus/common/model"
2829
promconfig "github.com/prometheus/prometheus/config"
@@ -36,6 +37,12 @@ import (
3637
allocatorWatcher "github.com/open-telemetry/opentelemetry-operator/cmd/otel-allocator/watcher"
3738
)
3839

40+
var defaultScrapeProtocols = []promconfig.ScrapeProtocol{
41+
promconfig.OpenMetricsText1_0_0,
42+
promconfig.OpenMetricsText0_0_1,
43+
promconfig.PrometheusText0_0_4,
44+
}
45+
3946
func TestDiscovery(t *testing.T) {
4047
type args struct {
4148
file string
@@ -62,7 +69,10 @@ func TestDiscovery(t *testing.T) {
6269
}
6370
scu := &mockScrapeConfigUpdater{}
6471
ctx, cancelFunc := context.WithCancel(context.Background())
65-
d := discovery.NewManager(ctx, gokitlog.NewNopLogger())
72+
registry := prometheus.NewRegistry()
73+
sdMetrics, err := discovery.CreateAndRegisterSDMetrics(registry)
74+
require.NoError(t, err)
75+
d := discovery.NewManager(ctx, gokitlog.NewNopLogger(), registry, sdMetrics)
6676
manager := NewDiscoverer(ctrl.Log.WithName("test"), d, nil, scu)
6777

6878
defer func() { manager.Close() }()
@@ -123,6 +133,7 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
123133
JobName: "serviceMonitor/testapp/testapp/0",
124134
HonorTimestamps: true,
125135
ScrapeInterval: model.Duration(30 * time.Second),
136+
ScrapeProtocols: defaultScrapeProtocols,
126137
ScrapeTimeout: model.Duration(30 * time.Second),
127138
MetricsPath: "/metrics",
128139
Scheme: "http",
@@ -151,6 +162,7 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
151162
JobName: "serviceMonitor/testapp/testapp/0",
152163
HonorTimestamps: false,
153164
ScrapeInterval: model.Duration(30 * time.Second),
165+
ScrapeProtocols: defaultScrapeProtocols,
154166
ScrapeTimeout: model.Duration(30 * time.Second),
155167
MetricsPath: "/metrics",
156168
Scheme: "http",
@@ -179,6 +191,7 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
179191
JobName: "serviceMonitor/testapp/testapp/1",
180192
HonorTimestamps: false,
181193
ScrapeInterval: model.Duration(30 * time.Second),
194+
ScrapeProtocols: defaultScrapeProtocols,
182195
ScrapeTimeout: model.Duration(30 * time.Second),
183196
MetricsPath: "/metrics",
184197
Scheme: "http",
@@ -207,6 +220,7 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
207220
JobName: "serviceMonitor/testapp/testapp/1",
208221
HonorTimestamps: false,
209222
ScrapeInterval: model.Duration(30 * time.Second),
223+
ScrapeProtocols: defaultScrapeProtocols,
210224
ScrapeTimeout: model.Duration(30 * time.Second),
211225
MetricsPath: "/metrics",
212226
Scheme: "http",
@@ -235,6 +249,7 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
235249
JobName: "serviceMonitor/testapp/testapp/1",
236250
HonorTimestamps: false,
237251
ScrapeTimeout: model.Duration(30 * time.Second),
252+
ScrapeProtocols: defaultScrapeProtocols,
238253
MetricsPath: "/metrics",
239254
Scheme: "http",
240255
HTTPClientConfig: commonconfig.HTTPClientConfig{
@@ -262,6 +277,7 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
262277
JobName: "serviceMonitor/testapp/testapp/1",
263278
HonorTimestamps: false,
264279
ScrapeTimeout: model.Duration(30 * time.Second),
280+
ScrapeProtocols: defaultScrapeProtocols,
265281
MetricsPath: "/metrics",
266282
Scheme: "http",
267283
HTTPClientConfig: commonconfig.HTTPClientConfig{
@@ -301,7 +317,10 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
301317

302318
scu := &mockScrapeConfigUpdater{}
303319
ctx := context.Background()
304-
d := discovery.NewManager(ctx, gokitlog.NewNopLogger())
320+
registry := prometheus.NewRegistry()
321+
sdMetrics, err := discovery.CreateAndRegisterSDMetrics(registry)
322+
require.NoError(t, err)
323+
d := discovery.NewManager(ctx, gokitlog.NewNopLogger(), registry, sdMetrics)
305324
manager := NewDiscoverer(ctrl.Log.WithName("test"), d, nil, scu)
306325

307326
for _, tc := range tests {
@@ -337,7 +356,10 @@ func TestDiscovery_ScrapeConfigHashing(t *testing.T) {
337356
func TestDiscovery_NoConfig(t *testing.T) {
338357
scu := &mockScrapeConfigUpdater{mockCfg: map[string]*promconfig.ScrapeConfig{}}
339358
ctx, cancelFunc := context.WithCancel(context.Background())
340-
d := discovery.NewManager(ctx, gokitlog.NewNopLogger())
359+
registry := prometheus.NewRegistry()
360+
sdMetrics, err := discovery.CreateAndRegisterSDMetrics(registry)
361+
require.NoError(t, err)
362+
d := discovery.NewManager(ctx, gokitlog.NewNopLogger(), registry, sdMetrics)
341363
manager := NewDiscoverer(ctrl.Log.WithName("test"), d, nil, scu)
342364
defer close(manager.close)
343365
defer cancelFunc()
@@ -384,7 +406,10 @@ func BenchmarkApplyScrapeConfig(b *testing.B) {
384406

385407
scu := &mockScrapeConfigUpdater{}
386408
ctx := context.Background()
387-
d := discovery.NewManager(ctx, gokitlog.NewNopLogger())
409+
registry := prometheus.NewRegistry()
410+
sdMetrics, err := discovery.CreateAndRegisterSDMetrics(registry)
411+
require.NoError(b, err)
412+
d := discovery.NewManager(ctx, gokitlog.NewNopLogger(), registry, sdMetrics)
388413
manager := NewDiscoverer(ctrl.Log.WithName("test"), d, nil, scu)
389414

390415
b.ResetTimer()

0 commit comments

Comments
 (0)