#Open Telemetry Bug
1 messages ยท Page 1 of 1 (latest)
I think I saw someone else post this yesterday. @tired zephyr do you have any ideas?
@sinful mango are you on latest?
Can't reproduce it this way:
nix run github:dagger/nix#dagger -- call -m github.com/openmeterio/openmeter --help
dagger v0.11.2 (registry.dagger.io/engine) darwin/arm64
Seems like something is bumping otel deps in the sdk way too aggressively. What's in your go.mod?
module ci
go 1.21.2
require (
github.com/99designs/gqlgen v0.17.44
github.com/Khan/genqlient v0.7.0
github.com/sourcegraph/conc v0.3.0
github.com/vektah/gqlparser/v2 v2.5.11
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa
golang.org/x/sync v0.6.0
)
require (
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
github.com/sosodev/duration v1.2.0 // indirect
github.com/stretchr/testify v1.9.0 // indirect
go.opentelemetry.io/otel v1.24.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.24.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.24.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.24.0
go.opentelemetry.io/otel/metric v1.24.0 // indirect
go.opentelemetry.io/otel/sdk v1.24.0
go.opentelemetry.io/otel/trace v1.24.0
go.opentelemetry.io/proto/otlp v1.1.0 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.9.0 // indirect
golang.org/x/net v0.20.0 // indirect
golang.org/x/sys v0.17.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240325203815-454cdb8f5daa // indirect
google.golang.org/grpc v1.62.1
google.golang.org/protobuf v1.33.0 // indirect
)
I have the same otel versions in other dagger modules and those aren't affected
Restarted engine, restarted shell, no dagger cloud token set
Adding this to go.mod fixes it:
replace go.opentelemetry.io/otel/trace => go.opentelemetry.io/otel/trace v1.24.0
Parent project is at 1.26.0
Saw this yesterday too #general message
Just added this for tracking: https://github.com/dagger/dagger/issues/7314
Ok, so it looks like I did change something: added a go.work file to the parent project.
I find it weird though that it affects the module itself, because it's in a subdirectory. I'm guessing everything gets mounted and go pulls in the newer dependencies because of the go.work file
So probably a better fix is:
"exclude": [
"go.work",
"go.work.sum"
],
I was about to paste this into the issue but you beat me to it. ๐
I have found a lot of strange behavior whenever I am using go.work
It's definitely strange but kinda necessary for multi-module projects for LSP to work.
The honeymoon phase with Go is definitely over for me ๐
Lately I find myself trashing Go as much as I trash Node which is kinda sad ๐
Is Borgo the answer?
After 10+ years in IT, I'm not sure there is one ๐
It's all about tradeoffs and benefits...but lately Go causes more problems for me than it fixes