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
|
||||
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.javaagent.instrumentation.vertx.client.AbstractVertxHttpAttributesGetter;
|
||||
import io.vertx.core.http.HttpClientRequest;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
final class Vertx3HttpAttributesGetter extends AbstractVertxHttpAttributesGetter {
|
||||
|
||||
|
@ -21,11 +22,33 @@ final class Vertx3HttpAttributesGetter extends AbstractVertxHttpAttributesGetter
|
|||
// where relative is expected.
|
||||
if (!isAbsolute(uri)) {
|
||||
VertxRequestInfo requestInfo = requestInfoField.get(request);
|
||||
if (requestInfo != null) {
|
||||
uri = absoluteUri(requestInfo, 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) {
|
||||
return uri.startsWith("http://") || uri.startsWith("https://");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue