feat({ddtrace/opentelemetry,internal/version}): remove Masterminds/semver/v3#4182
Conversation
BenchmarksBenchmark execution time: 2025-11-27 16:46:34 Comparing candidate commit aa0aa13 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 3 metrics, 0 unstable metrics. |
|
|
||
| func expectedSpanNames() []string { | ||
| v := semver.MustParse(otelhttp.Version()) | ||
| if v.Compare(semver.MustParse("0.60.0")) <= 0 { |
There was a problem hiding this comment.
Why was this needed before and not anymore ?
In the go.mod of the tracer we have a dependency on v0.49.0
There was a problem hiding this comment.
This was a temporary solution. It was done in #3551.
I realize that I didn't check the otelhttp version, but apparently... The smoke tests are passing. I think they did some significant back-and-forth changes between v0.61.0 and v0.63.0:
v0.61.0 (link)
Remove support for the OTEL_SEMCONV_STABILITY_OPT_IN environment variable as well as support for semantic conventions v1.20.0 in the modules below. (open-telemetry/opentelemetry-go-contrib#7584)
go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful
go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
v0.62.0 (link)
The semantic conventions have been upgraded from v1.26.0 to v1.34.0 in go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp. (open-telemetry/opentelemetry-go-contrib#7383, open-telemetry/opentelemetry-go-contrib#7484)
v0.63.0 (link)
Switched the default for OTEL_SEMCONV_STABILITY_OPT_IN to emit the v1.26.0 semantic conventions by default in the following modules.
go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful
go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin
go.opentelemetry.io/contrib/instrumentation/github.com/gorilla/mux/otelmux
go.opentelemetry.io/contrib/instrumentation/github.com/labstack/echo/otelecho
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
The OTEL_SEMCONV_STABILITY_OPT_IN=http/dup environment variable can be still used to emit both the v1.20.0 and v1.26.0 semantic conventions.
It is however impossible to emit only the 1.20.0 semantic conventions, as the next release will drop support for that environment variable. (open-telemetry/opentelemetry-go-contrib#6899)
|
/merge |
|
View all feedbacks in Devflow UI.
The expected merge time in
|
20a6618
into
dario.castane/apmlp-494/mapstructure
What does this PR do?
Removes
Mastermind/semver/v3usinggolang.org/x/mod/semverwhere appropriate. Custom code to parse a version string has been introduced. Existing tests are passing without modification (only adding new tests).Stacked on #4181. Please review the following commits:
Motivation
Reducing the scope of our dependencies.
Performance
Old
New
Reviewer's Checklist
./scripts/lint.shlocally.Unsure? Have a question? Request a review!