Require `server.address` and `server.port` in the HTTP client getter (#9171)
This commit is contained in:
parent
998f0bad42
commit
f8f87944c1
|
@ -31,4 +31,14 @@ public interface HttpClientAttributesGetter<REQUEST, RESPONSE>
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
String getUrlFull(REQUEST request);
|
String getUrlFull(REQUEST request);
|
||||||
|
|
||||||
|
/** {@inheritDoc} */
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
String getServerAddress(REQUEST request);
|
||||||
|
|
||||||
|
/** {@inheritDoc} */
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
Integer getServerPort(REQUEST request);
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ package io.opentelemetry.javaagent.instrumentation.vertx.v3_0.client;
|
||||||
import io.opentelemetry.instrumentation.api.util.VirtualField;
|
import io.opentelemetry.instrumentation.api.util.VirtualField;
|
||||||
import io.opentelemetry.javaagent.instrumentation.vertx.client.AbstractVertxHttpAttributesGetter;
|
import io.opentelemetry.javaagent.instrumentation.vertx.client.AbstractVertxHttpAttributesGetter;
|
||||||
import io.vertx.core.http.HttpClientRequest;
|
import io.vertx.core.http.HttpClientRequest;
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
final class Vertx3HttpAttributesGetter extends AbstractVertxHttpAttributesGetter {
|
final class Vertx3HttpAttributesGetter extends AbstractVertxHttpAttributesGetter {
|
||||||
|
|
||||||
|
@ -21,11 +22,33 @@ final class Vertx3HttpAttributesGetter extends AbstractVertxHttpAttributesGetter
|
||||||
// where relative is expected.
|
// where relative is expected.
|
||||||
if (!isAbsolute(uri)) {
|
if (!isAbsolute(uri)) {
|
||||||
VertxRequestInfo requestInfo = requestInfoField.get(request);
|
VertxRequestInfo requestInfo = requestInfoField.get(request);
|
||||||
|
if (requestInfo != null) {
|
||||||
uri = absoluteUri(requestInfo, uri);
|
uri = absoluteUri(requestInfo, uri);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return uri;
|
return uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public String getServerAddress(HttpClientRequest request) {
|
||||||
|
VertxRequestInfo requestInfo = requestInfoField.get(request);
|
||||||
|
if (requestInfo == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return requestInfo.getHost();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public Integer getServerPort(HttpClientRequest request) {
|
||||||
|
VertxRequestInfo requestInfo = requestInfoField.get(request);
|
||||||
|
if (requestInfo == null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return requestInfo.getPort();
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean isAbsolute(String uri) {
|
private static boolean isAbsolute(String uri) {
|
||||||
return uri.startsWith("http://") || uri.startsWith("https://");
|
return uri.startsWith("http://") || uri.startsWith("https://");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue