Skip to content

Commit 56594eb

Browse files
committed
Remove construction of URL fields that are filled on APM Server
1 parent a7899d9 commit 56594eb

File tree

2 files changed

+6
-32
lines changed

2 files changed

+6
-32
lines changed

apm-agent-plugins/apm-opentelemetry-plugin/src/main/java/co/elastic/apm/agent/opentelemetry/sdk/ElasticOTelSpan.java

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@
3939
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
4040

4141
import javax.annotation.Nonnull;
42-
import java.net.MalformedURLException;
43-
import java.net.URL;
4442
import java.util.Iterator;
4543
import java.util.Map;
4644
import java.util.concurrent.TimeUnit;
@@ -126,19 +124,6 @@ private void mapTransactionAttributes(Transaction t, AttributeKey<?> key, Object
126124
StringBuilder fullURl = request.getUrl().getFull();
127125
fullURl.setLength(0);
128126
fullURl.append((String) value);
129-
try {
130-
URL url = new URL((String) value);
131-
request.getUrl().withSearch(url.getQuery());
132-
request.getUrl().withProtocol(url.getProtocol());
133-
request.getUrl().withPathname(url.getPath());
134-
request.getUrl().withHostname(url.getHost());
135-
int port = url.getPort();
136-
port = port > 0 ? port : url.getDefaultPort();
137-
if (port > 0) {
138-
request.getUrl().withPort(port);
139-
}
140-
} catch (MalformedURLException ignore) {
141-
}
142127
} else if (key.equals(SemanticAttributes.HTTP_TARGET)) {
143128
StringBuilder fullURl = request.getUrl().getFull();
144129
if (fullURl.length() == 0) {
@@ -205,18 +190,6 @@ private void onTransactionEnd() {
205190
request.getSocket().withRemoteAddress((remoteAddress == null ? "" : remoteAddress) + ":" + entry.getValue());
206191
}
207192
}
208-
// if the URL starts with / we have only captured the http.target and have to construct the full url
209-
if (requestUrl.getFull().length() > 0 && requestUrl.getFull().charAt(0) == '/') {
210-
String httpTarget = requestUrl.getFull().toString();
211-
requestUrl.getFull().setLength(0);
212-
requestUrl
213-
.appendToFull(requestUrl.getProtocol())
214-
.appendToFull("://")
215-
.appendToFull(requestUrl.getHostname())
216-
.appendToFull(requestUrl.getPort().length() > 0 ? ":" + requestUrl.getPort() : "")
217-
.appendToFull(httpTarget);
218-
}
219-
220193
} else {
221194
t.withType("unknown");
222195
}

apm-agent-plugins/apm-opentelemetry-plugin/src/test/java/co/elastic/apm/agent/opentelemetry/sdk/ElasticOpenTelemetryTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ void testTransactionSemanticConventionMappingHttpHost() {
212212
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getProtocol()).isEqualTo("http");
213213
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getHostname()).isEqualTo("www.example.com");
214214
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getPort().toString()).isEqualTo("8080");
215-
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getFull().toString()).isEqualTo("http://www.example.com:8080/foo?bar");
215+
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getFull().toString()).isEqualTo("/foo?bar");
216216
}
217217

218218
@Test
@@ -236,7 +236,7 @@ void testTransactionSemanticConventionMappingHttpNetHostName() {
236236
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getHostname()).isEqualTo("example.com");
237237
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getPort().toString()).isEqualTo("8080");
238238
assertThat(reporter.getFirstTransaction().getContext().getRequest().getSocket().getRemoteAddress()).isEqualTo("192.168.178.1:123456");
239-
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getFull().toString()).isEqualTo("http://example.com:8080/foo?bar");
239+
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getFull().toString()).isEqualTo("/foo?bar");
240240
}
241241

242242
@Test
@@ -260,14 +260,15 @@ void testTransactionSemanticConventionMappingHttpNetHostIP() {
260260
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getHostname()).isEqualTo("127.0.0.1");
261261
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getPort().toString()).isEqualTo("8080");
262262
assertThat(reporter.getFirstTransaction().getContext().getRequest().getSocket().getRemoteAddress()).isEqualTo("192.168.178.1:123456");
263-
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getFull().toString()).isEqualTo("http://127.0.0.1:8080/foo?bar");
263+
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getFull().toString()).isEqualTo("/foo?bar");
264264
}
265265

266266
@Test
267267
void testTransactionSemanticConventionMappingHttpUrl() {
268268
otelTracer.spanBuilder("transaction")
269269
.startSpan()
270270
.setAttribute(SemanticAttributes.HTTP_METHOD, "GET")
271+
.setAttribute(SemanticAttributes.HTTP_SCHEME, "http")
271272
.setAttribute(SemanticAttributes.HTTP_URL, "http://example.com:8080/foo?bar")
272273
.setAttribute(SemanticAttributes.HTTP_STATUS_CODE, 200L)
273274
.setAttribute(SemanticAttributes.NET_PEER_PORT, 123456)
@@ -278,8 +279,8 @@ void testTransactionSemanticConventionMappingHttpUrl() {
278279
assertThat(reporter.getFirstTransaction().getContext().getResponse().getStatusCode()).isEqualTo(200);
279280
assertThat(reporter.getFirstTransaction().getContext().getRequest().getMethod()).isEqualTo("GET");
280281
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getProtocol()).isEqualTo("http");
281-
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getHostname()).isEqualTo("example.com");
282-
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getPort().toString()).isEqualTo("8080");
282+
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getHostname()).isNull();
283+
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getPort().toString()).isEmpty();
283284
assertThat(reporter.getFirstTransaction().getContext().getRequest().getSocket().getRemoteAddress()).isEqualTo("192.168.178.1:123456");
284285
assertThat(reporter.getFirstTransaction().getContext().getRequest().getUrl().getFull().toString()).isEqualTo("http://example.com:8080/foo?bar");
285286
}

0 commit comments

Comments
 (0)