Skip to content

Commit 1d7dabe

Browse files
Upgrade OpenTelemetry modules to v1.37.0 and migrate deprecated APIs (#1160)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ashnamehrotra <26015861+ashnamehrotra@users.noreply.github.com> Co-authored-by: ashnamehrotra <ashnamehrotra@gmail.com>
1 parent bb7634b commit 1d7dabe

File tree

14 files changed

+167
-149
lines changed

14 files changed

+167
-149
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,5 @@ node_modules/
4444

4545
# e2e test log outputs
4646
test/e2e/tests/eraser_logs/
47+
eraser
48+
remover

controllers/configmap/configmap.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
"sigs.k8s.io/controller-runtime/pkg/predicate"
1717
"sigs.k8s.io/controller-runtime/pkg/source"
1818

19-
"go.opentelemetry.io/otel/metric/global"
19+
"go.opentelemetry.io/otel"
2020
"k8s.io/apimachinery/pkg/runtime"
2121
"sigs.k8s.io/controller-runtime/pkg/client"
2222

@@ -103,7 +103,7 @@ func newReconciler(mgr manager.Manager, cfg *config.Manager) (reconcile.Reconcil
103103
defer cancel()
104104

105105
_, _, provider = metrics.ConfigureMetrics(ctx, log, otlpEndpoint)
106-
global.SetMeterProvider(provider)
106+
otel.SetMeterProvider(provider)
107107
}
108108

109109
rec := &Reconciler{

controllers/imagecollector/imagecollector_controller.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727
"syscall"
2828
"time"
2929

30-
"go.opentelemetry.io/otel/metric/global"
30+
"go.opentelemetry.io/otel"
3131
"k8s.io/apimachinery/pkg/runtime"
3232
ctrl "sigs.k8s.io/controller-runtime"
3333
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -120,7 +120,7 @@ func newReconciler(mgr manager.Manager, cfg *config.Manager) (*Reconciler, error
120120
defer cancel()
121121

122122
exporter, reader, provider = metrics.ConfigureMetrics(ctx, log, otlpEndpoint)
123-
global.SetMeterProvider(provider)
123+
otel.SetMeterProvider(provider)
124124
}
125125

126126
rec := &Reconciler{
@@ -556,7 +556,7 @@ func (r *Reconciler) handleCompletedImageJob(ctx context.Context, childJob *eras
556556

557557
if otlpEndpoint != "" {
558558
// record metrics
559-
if err := metrics.RecordMetricsController(ctx, global.MeterProvider(), float64(time.Since(startTime).Seconds()), int64(childJob.Status.Succeeded), int64(childJob.Status.Failed)); err != nil {
559+
if err := metrics.RecordMetricsController(ctx, otel.GetMeterProvider(), float64(time.Since(startTime).Seconds()), int64(childJob.Status.Succeeded), int64(childJob.Status.Failed)); err != nil {
560560
log.Error(err, "error recording metrics")
561561
}
562562
metrics.ExportMetrics(log, exporter, reader)
@@ -578,7 +578,7 @@ func (r *Reconciler) handleCompletedImageJob(ctx context.Context, childJob *eras
578578

579579
if otlpEndpoint != "" {
580580
// record metrics
581-
if err := metrics.RecordMetricsController(ctx, global.MeterProvider(), float64(time.Since(startTime).Milliseconds()), int64(childJob.Status.Succeeded), int64(childJob.Status.Failed)); err != nil {
581+
if err := metrics.RecordMetricsController(ctx, otel.GetMeterProvider(), float64(time.Since(startTime).Milliseconds()), int64(childJob.Status.Succeeded), int64(childJob.Status.Failed)); err != nil {
582582
log.Error(err, "error recording metrics")
583583
}
584584
metrics.ExportMetrics(log, exporter, reader)

controllers/imagelist/imagelist_controller.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import (
2323
"syscall"
2424
"time"
2525

26-
"go.opentelemetry.io/otel/metric/global"
26+
"go.opentelemetry.io/otel"
2727
corev1 "k8s.io/api/core/v1"
2828
"k8s.io/apimachinery/pkg/api/errors"
2929
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -97,7 +97,7 @@ func newReconciler(mgr manager.Manager, cfg *config.Manager) (reconcile.Reconcil
9797
defer cancel()
9898

9999
exporter, reader, provider = metrics.ConfigureMetrics(ctx, log, otlpEndpoint)
100-
global.SetMeterProvider(provider)
100+
otel.SetMeterProvider(provider)
101101
}
102102

103103
rec := &Reconciler{
@@ -209,7 +209,7 @@ func (r *Reconciler) handleJobListEvent(ctx context.Context, imageList *eraserv1
209209
otlpEndpoint := eraserConfig.Manager.OTLPEndpoint
210210
if otlpEndpoint != "" {
211211
// record metrics
212-
if err := metrics.RecordMetricsController(ctx, global.MeterProvider(), float64(time.Since(startTime).Seconds()), int64(job.Status.Succeeded), int64(job.Status.Failed)); err != nil {
212+
if err := metrics.RecordMetricsController(ctx, otel.GetMeterProvider(), float64(time.Since(startTime).Seconds()), int64(job.Status.Succeeded), int64(job.Status.Failed)); err != nil {
213213
log.Error(err, "error recording metrics")
214214
}
215215
metrics.ExportMetrics(log, exporter, reader)

go.mod

Lines changed: 34 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,35 @@
11
module github.com/eraser-dev/eraser
22

3-
go 1.18
3+
go 1.23.0
4+
5+
toolchain go1.24.5
46

57
require (
68
github.com/aquasecurity/trivy v0.35.0
79
github.com/aquasecurity/trivy-db v0.0.0-20220627104749-930461748b63 // indirect
8-
github.com/go-logr/logr v1.2.3
9-
github.com/onsi/ginkgo/v2 v2.6.0
10-
github.com/onsi/gomega v1.24.1
11-
github.com/stretchr/testify v1.8.4
12-
go.opentelemetry.io/otel v1.14.0
13-
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v0.34.0
14-
go.opentelemetry.io/otel/metric v0.34.0
15-
go.opentelemetry.io/otel/sdk v1.14.0
16-
go.opentelemetry.io/otel/sdk/metric v0.34.0
10+
github.com/go-logr/logr v1.4.3
11+
github.com/onsi/ginkgo/v2 v2.6.1
12+
github.com/onsi/gomega v1.24.2
13+
github.com/stretchr/testify v1.10.0
14+
go.opentelemetry.io/otel v1.37.0
15+
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.37.0
16+
go.opentelemetry.io/otel/metric v1.37.0
17+
go.opentelemetry.io/otel/sdk v1.37.0
18+
go.opentelemetry.io/otel/sdk/metric v1.37.0
1719
go.uber.org/zap v1.24.0
1820
golang.org/x/exp v0.0.0-20230321023759-10a507213a29
19-
golang.org/x/sys v0.18.0
20-
google.golang.org/grpc v1.58.3
21+
golang.org/x/sys v0.33.0
22+
google.golang.org/grpc v1.73.0
2123
k8s.io/api v0.26.11
2224
k8s.io/apimachinery v0.26.11
2325
k8s.io/client-go v0.26.11
2426
// keeping this on 0.25 as updating to 0.26 will remove CRI v1alpha2 version
25-
k8s.io/cri-api v0.25.5
27+
k8s.io/cri-api v0.25.16
2628
k8s.io/klog/v2 v2.100.1
27-
k8s.io/kubernetes v1.26.11
29+
k8s.io/kubernetes v1.26.15
2830
k8s.io/utils v0.0.0-20230115233650-391b47cb4029
2931
oras.land/oras-go v1.2.2
30-
sigs.k8s.io/controller-runtime v0.14.1
32+
sigs.k8s.io/controller-runtime v0.14.7
3133
sigs.k8s.io/e2e-framework v0.0.8
3234
sigs.k8s.io/kind v0.15.0
3335
sigs.k8s.io/yaml v1.3.0
@@ -42,8 +44,8 @@ require (
4244
github.com/beorn7/perks v1.0.1 // indirect
4345
github.com/blang/semver/v4 v4.0.0 // indirect
4446
github.com/caarlos0/env/v6 v6.10.1 // indirect
45-
github.com/cenkalti/backoff/v4 v4.2.0 // indirect
46-
github.com/cespare/xxhash/v2 v2.2.0 // indirect
47+
github.com/cenkalti/backoff/v5 v5.0.2 // indirect
48+
github.com/cespare/xxhash/v2 v2.3.0 // indirect
4749
github.com/containerd/containerd v1.6.26 // indirect
4850
github.com/containerd/log v0.1.0 // indirect
4951
github.com/davecgh/go-spew v1.1.1 // indirect
@@ -65,14 +67,14 @@ require (
6567
github.com/go-openapi/swag v0.22.3 // indirect
6668
github.com/gogo/protobuf v1.3.2 // indirect
6769
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
68-
github.com/golang/protobuf v1.5.3 // indirect
70+
github.com/golang/protobuf v1.5.4 // indirect
6971
github.com/google/gnostic v0.5.7-v3refs // indirect
70-
github.com/google/go-cmp v0.5.9 // indirect
72+
github.com/google/go-cmp v0.7.0 // indirect
7173
github.com/google/go-containerregistry v0.14.0 // indirect
7274
github.com/google/gofuzz v1.2.0 // indirect
73-
github.com/google/uuid v1.3.0 // indirect
75+
github.com/google/uuid v1.6.0 // indirect
7476
github.com/gorilla/mux v1.8.0 // indirect
75-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.11.3 // indirect
77+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.1 // indirect
7678
github.com/imdario/mergo v0.3.13 // indirect
7779
github.com/inconshreveable/mousetrap v1.1.0 // indirect
7880
github.com/josharian/intern v1.0.0 // indirect
@@ -103,26 +105,22 @@ require (
103105
github.com/spf13/cobra v1.7.0 // indirect
104106
github.com/spf13/pflag v1.0.5 // indirect
105107
github.com/vladimirvivien/gexe v0.1.1 // indirect
106-
go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.2 // indirect
107-
go.opentelemetry.io/otel/exporters/otlp/otlpmetric v0.34.0 // indirect
108-
go.opentelemetry.io/otel/trace v1.14.0 // indirect
109-
go.opentelemetry.io/proto/otlp v0.19.0 // indirect
108+
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
109+
go.opentelemetry.io/otel/trace v1.37.0 // indirect
110+
go.opentelemetry.io/proto/otlp v1.7.0 // indirect
110111
go.uber.org/atomic v1.10.0 // indirect
111-
go.uber.org/goleak v1.2.1 // indirect
112112
go.uber.org/multierr v1.9.0 // indirect
113-
golang.org/x/net v0.23.0 // indirect
114-
golang.org/x/oauth2 v0.10.0 // indirect
115-
golang.org/x/sync v0.3.0 // indirect
116-
golang.org/x/term v0.18.0 // indirect
117-
golang.org/x/text v0.14.0 // indirect
113+
golang.org/x/net v0.41.0 // indirect
114+
golang.org/x/oauth2 v0.30.0 // indirect
115+
golang.org/x/sync v0.15.0 // indirect
116+
golang.org/x/term v0.32.0 // indirect
117+
golang.org/x/text v0.26.0 // indirect
118118
golang.org/x/time v0.3.0 // indirect
119119
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
120120
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
121-
google.golang.org/appengine v1.6.7 // indirect
122-
google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 // indirect
123-
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect
124-
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect
125-
google.golang.org/protobuf v1.33.0 // indirect
121+
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
122+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
123+
google.golang.org/protobuf v1.36.6 // indirect
126124
gopkg.in/inf.v0 v0.9.1 // indirect
127125
gopkg.in/yaml.v2 v2.4.0 // indirect
128126
gopkg.in/yaml.v3 v3.0.1 // indirect

0 commit comments

Comments
 (0)