feat(contrib/labstack/echo.v4): support OpenTelemetry server semantics - #5236
feat(contrib/labstack/echo.v4): support OpenTelemetry server semantics#5236marcotc wants to merge 1 commit into
Conversation
Config Audit |
🎉 All green!🧪 All tests passed 🎯 Code Coverage (details) 🔗 Commit SHA: b68ba34 | Docs | View more details | Give us feedback! |
8a0d7f7 to
3201097
Compare
BenchmarksBenchmark execution time: 2026-08-25 23:34:21 Comparing candidate commit b68ba34 in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 335 metrics, 0 unstable metrics, 1 flaky benchmarks without significant changes.
|
4286c3c to
38e80e2
Compare
38e80e2 to
6143a44
Compare
6143a44 to
d7120e0
Compare
d7120e0 to
783137c
Compare
783137c to
bd6523d
Compare
bd6523d to
19c796e
Compare
19c796e to
71bb756
Compare
71bb756 to
5635d24
Compare
5635d24 to
733ef00
Compare
2414899 to
3dea3c5
Compare
3dea3c5 to
7c2fd6b
Compare
7c2fd6b to
b68ba34
Compare
What does this PR do?
This PR follows #5235 and applies #5230's shared server semantics to Echo route and handler-error handling. This behavior stays in a separate integration PR because Echo exposes routes and errors through framework-specific APIs.
When
DD_TRACE_OTEL_SEMANTICS_ENABLED=true,contrib/labstack/echo.v4uses span names such asGET /users/:idfor matched requests. Unknown methods useHTTPin place of the method. Requests without a route use onlyGETorHTTP. The integration omitshttp.routefor those requests.When only the HTTP status marks a request as an error,
error.typeis the status code. Recorded handler errors use their concrete type.Existing Datadog behavior does not change when the flag is false or unset.
This PR implements APMAPI-2123 under APMAPI-2047.
Motivation
The OpenTelemetry HTTP semantics RFC defines the required cross-tracer behavior and is the primary implementation and review reference for this PR.
APMAPI-2123 requires Echo v4 server spans to use stable OpenTelemetry method-and-route names and attributes. The integration must not place variable request paths in span names or change default behavior.
Validation
go test ./contrib/labstack/echo.v4/...Reviewer's Checklist
make lintlocally.make testlocally.make generatelocally.make fix-moduleslocally.