From 69500d5669ed7e98401e200b9fccef1ab239ccd0 Mon Sep 17 00:00:00 2001 From: Zach Montoya Date: Thu, 1 Oct 2026 13:41:41 -0700 Subject: [PATCH 1/4] Remove the span.flags checks in OTel HTTP Semantics. By definition, if a span is exported it is sampled. For completeness, we should set the 32-bit flags field to match the value of the W3C traceparent flags field, but we don't need/use it right now. --- tests/test_otel_http_semantics.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/tests/test_otel_http_semantics.py b/tests/test_otel_http_semantics.py index 48981baa240..580a4b82276 100644 --- a/tests/test_otel_http_semantics.py +++ b/tests/test_otel_http_semantics.py @@ -184,10 +184,6 @@ def _span_is_error(span: HttpSpan) -> bool: return _status_code(status.get("code", StatusCode.STATUS_CODE_UNSET.value)) == StatusCode.STATUS_CODE_ERROR.value -def _span_is_sampled(span: HttpSpan) -> bool: - return bool(int(span.get("flags", 0)) & 1) - - def _iter_otlp_spans(request: HttpResponse) -> Iterator[dict[str, Any]]: """Yield every span in the OTLP payloads associated with ``request``, each one once. @@ -785,9 +781,6 @@ def test_otel_span_name_is_available_to_sampling_rules(self) -> None: assert trace_id, "the request-correlated matched span carries no traceId" matched_trace = [span for span in _iter_otlp_spans(self.matched_response) if span.get("traceId") == trace_id] assert matched_trace, "the matched trace must contain at least one exported span" - assert all(_span_is_sampled(span) for span in matched_trace), ( - "every span in the trace kept by the HTTP* resource rule must carry the sampled flag" - ) def setup_server_span_name_is_available_before_client_sampling(self) -> None: self.distant_call_response = _distant_call() @@ -800,5 +793,3 @@ def test_server_span_name_is_available_before_client_sampling(self) -> None: assert _attributes(server_span).get("_dd.rule_psr") == 1, ( "the GET* rule must keep the server trace whether or not the route was resolved before client sampling" ) - assert _span_is_sampled(server_span) - assert _span_is_sampled(client_span), "sampling the server trace must keep its outbound HTTP client span" From 34a9a91c9ecd998423c0598a72241099b990ab86 Mon Sep 17 00:00:00 2001 From: Zach Montoya Date: Thu, 1 Oct 2026 13:53:43 -0700 Subject: [PATCH 2/4] Update the make_distant_call endpoints in Java weblogs applications to accept an optional method argument, needed for OTel HTTP semantics --- .../datadoghq/akka_http/AppSecRoutes.scala | 11 ++++--- .../java/com/datadoghq/jersey/MyResource.java | 31 +++++++++---------- .../app/controllers/AppSecController.scala | 10 +++--- utils/build/docker/java/play/conf/routes | 2 +- .../main/java/com/datadoghq/ratpack/Main.java | 30 ++++++++---------- .../com/datadoghq/resteasy/MyResource.java | 31 +++++++++---------- .../springbootnative/WebController.java | 31 +++++++++---------- .../system_tests/springboot/App.java | 11 +++++-- .../main/java/com/datadoghq/vertx3/Main.java | 6 +++- .../main/java/com/datadoghq/vertx4/Main.java | 6 +++- 10 files changed, 85 insertions(+), 84 deletions(-) diff --git a/utils/build/docker/java/akka-http/src/main/scala/com/datadoghq/akka_http/AppSecRoutes.scala b/utils/build/docker/java/akka-http/src/main/scala/com/datadoghq/akka_http/AppSecRoutes.scala index ea99380aaca..9871ce69d6c 100644 --- a/utils/build/docker/java/akka-http/src/main/scala/com/datadoghq/akka_http/AppSecRoutes.scala +++ b/utils/build/docker/java/akka-http/src/main/scala/com/datadoghq/akka_http/AppSecRoutes.scala @@ -208,15 +208,15 @@ object AppSecRoutes { span.setTag(if (decision == "keep") DDTags.MANUAL_KEEP else DDTags.MANUAL_DROP, true) } // Call downstream so that tests can assert on the sampling decision that gets propagated - complete(StatusCodes.OK, makeDistantCall("http://localhost:7777/"))(Marshaller.futureMarshaller(jsonMarshaller)) + complete(StatusCodes.OK, makeDistantCall("http://localhost:7777/", "GET"))(Marshaller.futureMarshaller(jsonMarshaller)) } } } } ~ path("make_distant_call") { get { - parameter("url") { url => - complete(StatusCodes.OK, makeDistantCall(url))(Marshaller.futureMarshaller(jsonMarshaller)) + parameters("url", "method".withDefault("GET")) { (url, method) => + complete(StatusCodes.OK, makeDistantCall(url, method))(Marshaller.futureMarshaller(jsonMarshaller)) } } } ~ @@ -365,8 +365,9 @@ object AppSecRoutes { response_headers: Map[String, String] ) - private def makeDistantCall(url: String): Future[DistantCallResponse] = { - val request = HttpRequest(uri = url) + private def makeDistantCall(url: String, method: String): Future[DistantCallResponse] = { + val httpMethod = HttpMethods.getForKey(method).getOrElse(HttpMethod.custom(method)) + val request = HttpRequest(method = httpMethod, uri = url) val requestHeaders = request.headers.map(h => (h.name(), h.value())).toMap Http().singleRequest(request).map { response => diff --git a/utils/build/docker/java/jersey-grizzly2/src/main/java/com/datadoghq/jersey/MyResource.java b/utils/build/docker/java/jersey-grizzly2/src/main/java/com/datadoghq/jersey/MyResource.java index d0e04e564de..b685a7d160b 100644 --- a/utils/build/docker/java/jersey-grizzly2/src/main/java/com/datadoghq/jersey/MyResource.java +++ b/utils/build/docker/java/jersey-grizzly2/src/main/java/com/datadoghq/jersey/MyResource.java @@ -413,37 +413,34 @@ public Response traceManualKeepDrop(@QueryParam("decision") String decision) thr } // Call downstream so that tests can assert on the sampling decision that gets propagated - String result = new ObjectMapper().writeValueAsString(make_distant_call("http://localhost:7777/")); + String result = new ObjectMapper().writeValueAsString(make_distant_call("http://localhost:7777/", "GET")); return Response.ok(result).type(MediaType.APPLICATION_JSON).build(); } @GET @Path("/make_distant_call") - public DistantCallResponse make_distant_call(@QueryParam("url") String url) throws Exception { - URL urlObject = new URL(url); - - HttpURLConnection con = (HttpURLConnection) urlObject.openConnection(); - con.setRequestMethod("GET"); + public DistantCallResponse make_distant_call( + @QueryParam("url") String url, + @DefaultValue("GET") @QueryParam("method") String method) throws Exception { + java.net.http.HttpRequest request = java.net.http.HttpRequest.newBuilder() + .uri(java.net.URI.create(url)) + .method(method, java.net.http.HttpRequest.BodyPublishers.noBody()) + .build(); + java.net.http.HttpResponse response = java.net.http.HttpClient.newHttpClient().send( + request, + java.net.http.HttpResponse.BodyHandlers.discarding()); // Save request headers HashMap request_headers = new HashMap(); - for (Map.Entry> header: con.getRequestProperties().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header: request.headers().map().entrySet()) { request_headers.put(header.getKey(), header.getValue().get(0)); } // Save response headers and status code - int status_code = con.getResponseCode(); + int status_code = response.statusCode(); HashMap response_headers = new HashMap(); - for (Map.Entry> header: con.getHeaderFields().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header: response.headers().map().entrySet()) { response_headers.put(header.getKey(), header.getValue().get(0)); } diff --git a/utils/build/docker/java/play/app/controllers/AppSecController.scala b/utils/build/docker/java/play/app/controllers/AppSecController.scala index 6d6ba328a12..9c22817c735 100644 --- a/utils/build/docker/java/play/app/controllers/AppSecController.scala +++ b/utils/build/docker/java/play/app/controllers/AppSecController.scala @@ -193,16 +193,16 @@ class AppSecController @Inject()(cc: MessagesControllerComponents, ws: WSClient, span.setTag(if (decision == "keep") DDTags.MANUAL_KEEP else DDTags.MANUAL_DROP, true) } // Call downstream so that tests can assert on the sampling decision that gets propagated - makeDistantCall("http://localhost:7777/") + makeDistantCall("http://localhost:7777/", "GET") } } - def distantCall(url: String) = Action.async { - makeDistantCall(url) + def distantCall(url: String, method: String) = Action.async { + makeDistantCall(url, method) } - private def makeDistantCall(url: String): Future[Result] = { - val remoteReq: WSRequest = ws.url(url).withMethod("GET") + private def makeDistantCall(url: String, method: String): Future[Result] = { + val remoteReq: WSRequest = ws.url(url).withMethod(method) // we need to break the abstraction to be able to get to the request headers val ahcRequest: AHCRequest = remoteReq.asInstanceOf[AhcWSRequest].underlying.buildRequest() diff --git a/utils/build/docker/java/play/conf/routes b/utils/build/docker/java/play/conf/routes index 2585aabdba6..1ea3dfa9d4f 100644 --- a/utils/build/docker/java/play/conf/routes +++ b/utils/build/docker/java/play/conf/routes @@ -13,7 +13,7 @@ GET /waf/ controllers.AppSecController.waf GET /waf/*segments controllers.AppSecController.params(segments: Seq[String]) POST /waf controllers.AppSecController.wafPost GET /trace/manual_keep_drop controllers.AppSecController.traceManualKeepDrop(decision: String) -GET /make_distant_call controllers.AppSecController.distantCall(url: String) +GET /make_distant_call controllers.AppSecController.distantCall(url: String, method: String ?= "GET") GET /status controllers.AppSecController.status(code: Int) GET /stats-unique controllers.AppSecController.statsUnique(code: Option[Int]) GET /users controllers.AppSecController.users(user: String) diff --git a/utils/build/docker/java/ratpack/src/main/java/com/datadoghq/ratpack/Main.java b/utils/build/docker/java/ratpack/src/main/java/com/datadoghq/ratpack/Main.java index ba4cdd67434..07bbc54bfc6 100644 --- a/utils/build/docker/java/ratpack/src/main/java/com/datadoghq/ratpack/Main.java +++ b/utils/build/docker/java/ratpack/src/main/java/com/datadoghq/ratpack/Main.java @@ -231,30 +231,27 @@ public static void main(String[] args) throws Exception { .get("make_distant_call", ctx -> { final Promise res = Blocking.get(() -> { String url = ctx.getRequest().getQueryParams().get("url"); - - URL urlObject = new URL(url); - - HttpURLConnection con = (HttpURLConnection) urlObject.openConnection(); - con.setRequestMethod("GET"); + String method = Optional.ofNullable( + ctx.getRequest().getQueryParams().get("method")) + .orElse("GET"); + java.net.http.HttpRequest request = java.net.http.HttpRequest.newBuilder() + .uri(java.net.URI.create(url)) + .method(method, java.net.http.HttpRequest.BodyPublishers.noBody()) + .build(); + java.net.http.HttpResponse response = java.net.http.HttpClient + .newHttpClient() + .send(request, java.net.http.HttpResponse.BodyHandlers.discarding()); // Save request headers HashMap request_headers = new HashMap(); - for (Map.Entry> header : con.getRequestProperties().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header : request.headers().map().entrySet()) { request_headers.put(header.getKey(), header.getValue().get(0)); } // Save response headers and status code - int status_code = con.getResponseCode(); + int status_code = response.statusCode(); HashMap response_headers = new HashMap(); - for (Map.Entry> header : con.getHeaderFields().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header : response.headers().map().entrySet()) { response_headers.put(header.getKey(), header.getValue().get(0)); } @@ -483,4 +480,3 @@ public static final class DistantCallResponse { public static final DataSource DATA_SOURCE = new SqlServer().start(); } - diff --git a/utils/build/docker/java/resteasy-netty3/src/main/java/com/datadoghq/resteasy/MyResource.java b/utils/build/docker/java/resteasy-netty3/src/main/java/com/datadoghq/resteasy/MyResource.java index 67057ebb985..f96fa87e8c4 100644 --- a/utils/build/docker/java/resteasy-netty3/src/main/java/com/datadoghq/resteasy/MyResource.java +++ b/utils/build/docker/java/resteasy-netty3/src/main/java/com/datadoghq/resteasy/MyResource.java @@ -482,37 +482,34 @@ public Response traceManualKeepDrop(@QueryParam("decision") String decision) thr } // Call downstream so that tests can assert on the sampling decision that gets propagated - String result = new ObjectMapper().writeValueAsString(make_distant_call("http://localhost:7777/")); + String result = new ObjectMapper().writeValueAsString(make_distant_call("http://localhost:7777/", "GET")); return Response.ok(result).type(MediaType.APPLICATION_JSON).build(); } @GET @Path("/make_distant_call") - public DistantCallResponse make_distant_call(@QueryParam("url") String url) throws Exception { - URL urlObject = new URL(url); - - HttpURLConnection con = (HttpURLConnection) urlObject.openConnection(); - con.setRequestMethod("GET"); + public DistantCallResponse make_distant_call( + @QueryParam("url") String url, + @DefaultValue("GET") @QueryParam("method") String method) throws Exception { + java.net.http.HttpRequest request = java.net.http.HttpRequest.newBuilder() + .uri(java.net.URI.create(url)) + .method(method, java.net.http.HttpRequest.BodyPublishers.noBody()) + .build(); + java.net.http.HttpResponse response = java.net.http.HttpClient.newHttpClient().send( + request, + java.net.http.HttpResponse.BodyHandlers.discarding()); // Save request headers HashMap request_headers = new HashMap(); - for (Map.Entry> header: con.getRequestProperties().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header: request.headers().map().entrySet()) { request_headers.put(header.getKey(), header.getValue().get(0)); } // Save response headers and status code - int status_code = con.getResponseCode(); + int status_code = response.statusCode(); HashMap response_headers = new HashMap(); - for (Map.Entry> header: con.getHeaderFields().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header: response.headers().map().entrySet()) { response_headers.put(header.getKey(), header.getValue().get(0)); } diff --git a/utils/build/docker/java/spring-boot-3-native/src/main/java/com/datadoghq/springbootnative/WebController.java b/utils/build/docker/java/spring-boot-3-native/src/main/java/com/datadoghq/springbootnative/WebController.java index cb6a6456886..9d7ec201b40 100644 --- a/utils/build/docker/java/spring-boot-3-native/src/main/java/com/datadoghq/springbootnative/WebController.java +++ b/utils/build/docker/java/spring-boot-3-native/src/main/java/com/datadoghq/springbootnative/WebController.java @@ -189,34 +189,31 @@ ResponseEntity traceManualKeepDrop(@RequestParam String decision) throws Exce } // Call downstream so that tests can assert on the sampling decision that gets propagated - return ResponseEntity.ok(make_distant_call("http://localhost:7777/")); + return ResponseEntity.ok(make_distant_call("http://localhost:7777/", "GET")); } @RequestMapping("/make_distant_call") - DistantCallResponse make_distant_call(@RequestParam String url) throws Exception { - URL urlObject = new URL(url); - - HttpURLConnection con = (HttpURLConnection) urlObject.openConnection(); - con.setRequestMethod("GET"); + DistantCallResponse make_distant_call( + @RequestParam String url, + @RequestParam(defaultValue = "GET") String method) throws Exception { + java.net.http.HttpRequest request = java.net.http.HttpRequest.newBuilder() + .uri(java.net.URI.create(url)) + .method(method, java.net.http.HttpRequest.BodyPublishers.noBody()) + .build(); + java.net.http.HttpResponse response = java.net.http.HttpClient.newHttpClient().send( + request, + java.net.http.HttpResponse.BodyHandlers.discarding()); // Save request headers HashMap request_headers = new HashMap(); - for (Map.Entry> header: con.getRequestProperties().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header: request.headers().map().entrySet()) { request_headers.put(header.getKey(), header.getValue().get(0)); } // Save response headers and status code - int status_code = con.getResponseCode(); + int status_code = response.statusCode(); HashMap response_headers = new HashMap(); - for (Map.Entry> header: con.getHeaderFields().entrySet()) { - if (header.getKey() == null) { - continue; - } - + for (Map.Entry> header: response.headers().map().entrySet()) { response_headers.put(header.getKey(), header.getValue().get(0)); } diff --git a/utils/build/docker/java/spring-boot/src/main/java/com/datadoghq/system_tests/springboot/App.java b/utils/build/docker/java/spring-boot/src/main/java/com/datadoghq/system_tests/springboot/App.java index 373ca0aea42..415ed53e736 100644 --- a/utils/build/docker/java/spring-boot/src/main/java/com/datadoghq/system_tests/springboot/App.java +++ b/utils/build/docker/java/spring-boot/src/main/java/com/datadoghq/system_tests/springboot/App.java @@ -1095,11 +1095,13 @@ ResponseEntity traceManualKeepDrop(@RequestParam String decision) throws Exce } // Call downstream so that tests can assert on the sampling decision that gets propagated - return ResponseEntity.ok(make_distant_call("http://localhost:7777/")); + return ResponseEntity.ok(make_distant_call("http://localhost:7777/", "GET")); } @RequestMapping("/make_distant_call") - DistantCallResponse make_distant_call(@RequestParam String url) throws Exception { + DistantCallResponse make_distant_call( + @RequestParam String url, + @RequestParam(defaultValue = "GET") String method) throws Exception { HashMap request_headers = new HashMap<>(); OkHttpClient client = new OkHttpClient.Builder() @@ -1115,9 +1117,12 @@ DistantCallResponse make_distant_call(@RequestParam String url) throws Exception }) .build(); + okhttp3.RequestBody requestBody = ("GET".equals(method) || "HEAD".equals(method)) + ? null + : okhttp3.RequestBody.create(null, new byte[0]); Request request = new Request.Builder() .url(url) - .get() + .method(method, requestBody) .build(); Response response = client.newCall(request).execute(); diff --git a/utils/build/docker/java/vertx3/src/main/java/com/datadoghq/vertx3/Main.java b/utils/build/docker/java/vertx3/src/main/java/com/datadoghq/vertx3/Main.java index 39fa1ac7da9..f54c2a90f81 100644 --- a/utils/build/docker/java/vertx3/src/main/java/com/datadoghq/vertx3/Main.java +++ b/utils/build/docker/java/vertx3/src/main/java/com/datadoghq/vertx3/Main.java @@ -465,6 +465,7 @@ public void onResponse(Call call, Response response) throws IOException { }); router.get("/make_distant_call").handler(ctx -> { String url = ctx.request().getParam("url"); + String method = Optional.ofNullable(ctx.request().getParam("method")).orElse("GET"); JsonObject requestHeaders = new JsonObject(); OkHttpClient client = new OkHttpClient.Builder() @@ -480,9 +481,12 @@ public void onResponse(Call call, Response response) throws IOException { }) .build(); + RequestBody requestBody = ("GET".equals(method) || "HEAD".equals(method)) + ? null + : RequestBody.create(null, new byte[0]); Request request = new Request.Builder() .url(url) - .get() + .method(method, requestBody) .build(); client.newCall(request).enqueue(new Callback() { diff --git a/utils/build/docker/java/vertx4/src/main/java/com/datadoghq/vertx4/Main.java b/utils/build/docker/java/vertx4/src/main/java/com/datadoghq/vertx4/Main.java index 09f7965ff37..1ae99b67e9b 100644 --- a/utils/build/docker/java/vertx4/src/main/java/com/datadoghq/vertx4/Main.java +++ b/utils/build/docker/java/vertx4/src/main/java/com/datadoghq/vertx4/Main.java @@ -465,6 +465,7 @@ public void onResponse(Call call, Response response) throws IOException { router.get("/make_distant_call").handler(ctx -> { String url = ctx.request().getParam("url"); + String method = Optional.ofNullable(ctx.request().getParam("method")).orElse("GET"); JsonObject requestHeaders = new JsonObject(); OkHttpClient client = new OkHttpClient.Builder() @@ -480,9 +481,12 @@ public void onResponse(Call call, Response response) throws IOException { }) .build(); + RequestBody requestBody = ("GET".equals(method) || "HEAD".equals(method)) + ? null + : RequestBody.create(null, new byte[0]); Request request = new Request.Builder() .url(url) - .get() + .method(method, requestBody) .build(); client.newCall(request).enqueue(new Callback() { From ce2669cdb71ce34100f3286a849eedeb3eeae308 Mon Sep 17 00:00:00 2001 From: Zach Montoya Date: Thu, 1 Oct 2026 14:28:27 -0700 Subject: [PATCH 3/4] Fix: For testing the OTEL_SEMANTICS_OTLP_TRACE_METRICS scenario, also set DD_METRICS_OTEL_ENABLED=true because we are configuring the metrics export with the OTEL_EXPORTER_OTLP_* environment variables --- utils/_context/_scenarios/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/utils/_context/_scenarios/__init__.py b/utils/_context/_scenarios/__init__.py index 0c99cfe9bfb..40b3d946791 100644 --- a/utils/_context/_scenarios/__init__.py +++ b/utils/_context/_scenarios/__init__.py @@ -330,6 +330,7 @@ class _Scenarios: weblog_env={ "DD_TRACE_OTEL_SEMANTICS_ENABLED": "true", "DD_TRACE_OTEL_ENABLED": "true", + "DD_METRICS_OTEL_ENABLED": "true", "OTEL_EXPORTER_OTLP_PROTOCOL": "http/protobuf", "OTEL_TRACES_EXPORTER": "otlp", "OTEL_TRACES_SPAN_METRICS_ENABLED": "true", From 811f04302dca35e3194ce683c9afcd4796264a31 Mon Sep 17 00:00:00 2001 From: Zach Montoya Date: Thu, 1 Oct 2026 14:29:12 -0700 Subject: [PATCH 4/4] Enable the tests in test_otel_http_semantics.py for java --- manifests/java.yml | 271 +-------------------------------------------- 1 file changed, 5 insertions(+), 266 deletions(-) diff --git a/manifests/java.yml b/manifests/java.yml index 86b608c1189..a952bd42726 100644 --- a/manifests/java.yml +++ b/manifests/java.yml @@ -4814,273 +4814,12 @@ manifest: akka-http: irrelevant (integration injects Date header after bytecode injection occurs) play: irrelevant (integration injects Date header after bytecode injection occurs) tests/test_library_logs.py::Test_NoExceptions::test_dotnet: irrelevant (only for .NET) - tests/test_otel_http_semantics.py::Test_OtelSemantics_OTLP_Spans_Http_ErrorStatusConfiguration: missing_feature (OTLP export of OTel HTTP semantics not implemented) - tests/test_otel_http_semantics.py::Test_OtelSemantics_OTLP_TraceMetrics: missing_feature (OTLP export of OTel HTTP semantics not implemented) - tests/test_otel_http_semantics.py::Test_OtelSemantics_SamplingRules: missing_feature (OTLP export of OTel HTTP semantics not implemented) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Client: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server: # TODO: a lower version might be supported - - declaration: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - component_version: <1.65.1 - weblog: [spring-boot-openliberty, spring-boot-wildfly, spring-boot-jetty, vertx4, akka-http, ratpack, resteasy-netty3, spring-boot, jersey-grizzly2, vertx3, spring-boot-payara, play, spring-boot-undertow, uds-spring-boot] - - declaration: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - excluded_weblog: [spring-boot-openliberty, spring-boot-wildfly, spring-boot-jetty, vertx4, akka-http, ratpack, resteasy-netty3, spring-boot, jersey-grizzly2, vertx3, spring-boot-payara, play, spring-boot-undertow, uds-spring-boot] - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_client_address: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_datadog_attributes_absent: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) + tests/test_otel_http_semantics.py::Test_OtelSemantics_OTLP_Spans_Http_ErrorStatusConfiguration: v1.66.0 + tests/test_otel_http_semantics.py::Test_OtelSemantics_OTLP_TraceMetrics: v1.66.0 + tests/test_otel_http_semantics.py::Test_OtelSemantics_SamplingRules: v1.66.0 + tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Client: v1.66.0 + tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server: v1.66.0 tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_http_endpoint_retained_from_appsec: irrelevant (The AppSec endpoint retention request is specific to .NET) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_network_peer_address: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_otel_attributes_present: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_server_address: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_server_port: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_span_name_route_invariance: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_span_name_unknown_method: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_span_name_with_route: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_span_name_without_route: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_status_3xx_is_not_error: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_status_400_is_not_error: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_status_500_no_exception_is_status_code_error: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_url_query_obfuscation: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_url_query_present_with_query_string: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - tests/test_otel_http_semantics.py::Test_OtelSemantics_Spans_Http_Server::test_user_agent: - - weblog_declaration: - ratpack: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-payara: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-jetty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - jersey-grizzly2: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-openliberty: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-wildfly: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - resteasy-netty3: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot-undertow: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - vertx4: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - akka-http: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - play: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - uds-spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) - spring-boot: missing_feature (OTel HTTP semantics not implemented over both Agent and OTLP export paths) tests/test_otel_tracestate_sampling.py::Test_EmitOtOnProbabilityDecision_Rate0_5: - weblog_declaration: "*": v1.67.0-SNAPSHOT