#Open Telemetry Bug

1 messages ยท Page 1 of 1 (latest)

late void
#

I think I saw someone else post this yesterday. @tired zephyr do you have any ideas?

#

@sinful mango are you on latest?

sinful mango
#

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
tired zephyr
#

Seems like something is bumping otel deps in the sdk way too aggressively. What's in your go.mod?

sinful mango
#
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

late void
sinful mango
#

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"
  ],
late void
sinful mango
#

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 ๐Ÿ˜„

sinful mango
#

It's all about tradeoffs and benefits...but lately Go causes more problems for me than it fixes