Fix V0 HTTP client operation names to prevent duplicate endpoints in APM Endpoints view by jandro996 · Pull Request #10958 · DataDog/dd-trace-java
…APM Endpoints view
Common HTTP client libraries (Apache HttpClient, HttpURLConnection, etc.) were falling
through to the generic "http.request" default in ClientNamingV0.operationForComponent(),
causing the APM Endpoints view to show spurious duplicate endpoint rows — one for the
real servlet.request server span and one for each client span with the same URL path.
Each well-known HTTP client now has a distinct library-specific operation name consistent
with the existing pattern for OkHttp ("okhttp.request"), Play-WS ("play-ws.request"),
and Netty client ("netty.client.request"). The generic "http.request" fallback is kept
for truly unknown/custom HTTP clients.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…mingV0 change Tests for AWS SDK, Elasticsearch REST client, OpenSearch, and Mule 4 each include child HTTP client spans within their trace assertions. These spans had their operation name hardcoded as "http.request" because the underlying HTTP libraries (Apache HttpClient and Grizzly async client) previously fell through to that default. Now that these components have explicit V0 operation names, update the assertions to match: apache-httpclient.request, apache-httpasyncclient.request, and grizzly-http-async-client.request accordingly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Spring Boot OpenLiberty smoke app uses RestTemplate backed by HttpURLConnection, which now produces "http-url-connection.request" instead of the generic "http.request" after the ClientNamingV0 fix. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… (round 3) Update Spring WebFlux bootTest, Spring Cloud Zuul, and AWS SNS tests to use the new component-specific operation names introduced for V0 schema. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e (round 4) TwilioClientV0Test.httpClientOperation() was using the generic ClientV0.operation() which returned "http.request". Update to "apache-httpclient.request" directly since Twilio uses the apache-httpclient component for its underlying HTTP requests. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…lients Zuul uses Apache HttpClient for direct proxy forwards, but the backend makes nested HTTP calls using HttpURLConnection. With the ClientNamingV0 change, these now produce different operation names, requiring per-trace assertions instead of one uniform operation name. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters