Remove deprecated code after release (#8738)
Co-authored-by: opentelemetrybot <107717825+opentelemetrybot@users.noreply.github.com>
This commit is contained in:
parent
ca24c38846
commit
2b58df1627
|
@ -17,19 +17,6 @@ import javax.annotation.Nullable;
|
||||||
public interface HttpClientAttributesGetter<REQUEST, RESPONSE>
|
public interface HttpClientAttributesGetter<REQUEST, RESPONSE>
|
||||||
extends HttpCommonAttributesGetter<REQUEST, RESPONSE> {
|
extends HttpCommonAttributesGetter<REQUEST, RESPONSE> {
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the full request URL.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. Implement {@link
|
|
||||||
* #getUrlFull(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getUrl(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/**
|
/**
|
||||||
* Returns the absolute URL describing a network resource according to <a
|
* Returns the absolute URL describing a network resource according to <a
|
||||||
* href="https://www.rfc-editor.org/rfc/rfc3986">RFC3986</a>.
|
* href="https://www.rfc-editor.org/rfc/rfc3986">RFC3986</a>.
|
||||||
|
@ -37,7 +24,5 @@ public interface HttpClientAttributesGetter<REQUEST, RESPONSE>
|
||||||
* <p>Examples: {@code https://www.foo.bar/search?q=OpenTelemetry#SemConv}; {@code //localhost}
|
* <p>Examples: {@code https://www.foo.bar/search?q=OpenTelemetry#SemConv}; {@code //localhost}
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
default String getUrlFull(REQUEST request) {
|
String getUrlFull(REQUEST request);
|
||||||
return getUrl(request);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,8 +5,6 @@
|
||||||
|
|
||||||
package io.opentelemetry.instrumentation.api.instrumenter.http;
|
package io.opentelemetry.instrumentation.api.instrumenter.http;
|
||||||
|
|
||||||
import static java.util.Collections.emptyList;
|
|
||||||
|
|
||||||
import io.opentelemetry.context.Context;
|
import io.opentelemetry.context.Context;
|
||||||
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
|
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -15,47 +13,14 @@ import javax.annotation.Nullable;
|
||||||
/** An interface for getting HTTP attributes common to clients and servers. */
|
/** An interface for getting HTTP attributes common to clients and servers. */
|
||||||
public interface HttpCommonAttributesGetter<REQUEST, RESPONSE> {
|
public interface HttpCommonAttributesGetter<REQUEST, RESPONSE> {
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the HTTP request method.
|
|
||||||
*
|
|
||||||
* <p>Examples: {@code GET}, {@code POST}, {@code HEAD}
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. Implement {@link
|
|
||||||
* #getHttpRequestMethod(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getMethod(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/**
|
/**
|
||||||
* Returns the HTTP request method.
|
* Returns the HTTP request method.
|
||||||
*
|
*
|
||||||
* <p>Examples: {@code GET}, {@code POST}, {@code HEAD}
|
* <p>Examples: {@code GET}, {@code POST}, {@code HEAD}
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
default String getHttpRequestMethod(REQUEST request) {
|
String getHttpRequestMethod(REQUEST request);
|
||||||
return getMethod(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extracts all values of header named {@code name} from the request, or an empty list if there
|
|
||||||
* were none.
|
|
||||||
*
|
|
||||||
* <p>Implementations of this method <b>must not</b> return a null value; an empty list should be
|
|
||||||
* returned instead.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. Implement {@link
|
|
||||||
* #getHttpRequestHeader(Object, String)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
default List<String> getRequestHeader(REQUEST request, String name) {
|
|
||||||
return emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/**
|
/**
|
||||||
* Returns all values of header named {@code name} from the request, or an empty list if there
|
* Returns all values of header named {@code name} from the request, or an empty list if there
|
||||||
* were none.
|
* were none.
|
||||||
|
@ -63,26 +28,8 @@ public interface HttpCommonAttributesGetter<REQUEST, RESPONSE> {
|
||||||
* <p>Implementations of this method <b>must not</b> return a null value; an empty list should be
|
* <p>Implementations of this method <b>must not</b> return a null value; an empty list should be
|
||||||
* returned instead.
|
* returned instead.
|
||||||
*/
|
*/
|
||||||
default List<String> getHttpRequestHeader(REQUEST request, String name) {
|
List<String> getHttpRequestHeader(REQUEST request, String name);
|
||||||
return getRequestHeader(request, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extracts the {@code http.status_code} span attribute.
|
|
||||||
*
|
|
||||||
* <p>This is called from {@link Instrumenter#end(Context, Object, Object, Throwable)}, only when
|
|
||||||
* {@code response} is non-{@code null}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. Implement {@link
|
|
||||||
* #getHttpResponseStatusCode(Object, Object, Throwable)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default Integer getStatusCode(REQUEST request, RESPONSE response, @Nullable Throwable error) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/**
|
/**
|
||||||
* Returns the <a href="https://tools.ietf.org/html/rfc7231#section-6">HTTP response status
|
* Returns the <a href="https://tools.ietf.org/html/rfc7231#section-6">HTTP response status
|
||||||
* code</a>.
|
* code</a>.
|
||||||
|
@ -93,30 +40,8 @@ public interface HttpCommonAttributesGetter<REQUEST, RESPONSE> {
|
||||||
* {@code response} is non-{@code null}.
|
* {@code response} is non-{@code null}.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
default Integer getHttpResponseStatusCode(
|
Integer getHttpResponseStatusCode(REQUEST request, RESPONSE response, @Nullable Throwable error);
|
||||||
REQUEST request, RESPONSE response, @Nullable Throwable error) {
|
|
||||||
return getStatusCode(request, response, error);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extracts all values of header named {@code name} from the response, or an empty list if there
|
|
||||||
* were none.
|
|
||||||
*
|
|
||||||
* <p>This is called from {@link Instrumenter#end(Context, Object, Object, Throwable)}, only when
|
|
||||||
* {@code response} is non-{@code null}.
|
|
||||||
*
|
|
||||||
* <p>Implementations of this method <b>must not</b> return a null value; an empty list should be
|
|
||||||
* returned instead.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. Implement {@link
|
|
||||||
* #getHttpResponseHeader(Object, Object, String)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
default List<String> getResponseHeader(REQUEST request, RESPONSE response, String name) {
|
|
||||||
return emptyList();
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/**
|
/**
|
||||||
* Returns all values of header named {@code name} from the response, or an empty list if there
|
* Returns all values of header named {@code name} from the response, or an empty list if there
|
||||||
* were none.
|
* were none.
|
||||||
|
@ -127,7 +52,5 @@ public interface HttpCommonAttributesGetter<REQUEST, RESPONSE> {
|
||||||
* <p>Implementations of this method <b>must not</b> return a null value; an empty list should be
|
* <p>Implementations of this method <b>must not</b> return a null value; an empty list should be
|
||||||
* returned instead.
|
* returned instead.
|
||||||
*/
|
*/
|
||||||
default List<String> getHttpResponseHeader(REQUEST request, RESPONSE response, String name) {
|
List<String> getHttpResponseHeader(REQUEST request, RESPONSE response, String name);
|
||||||
return getResponseHeader(request, response, name);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,78 +18,20 @@ import javax.annotation.Nullable;
|
||||||
public interface HttpServerAttributesGetter<REQUEST, RESPONSE>
|
public interface HttpServerAttributesGetter<REQUEST, RESPONSE>
|
||||||
extends HttpCommonAttributesGetter<REQUEST, RESPONSE>, UrlAttributesGetter<REQUEST> {
|
extends HttpCommonAttributesGetter<REQUEST, RESPONSE>, UrlAttributesGetter<REQUEST> {
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the URI scheme.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. Implement {@link
|
|
||||||
* #getUrlScheme(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getScheme(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
default String getUrlScheme(REQUEST request) {
|
String getUrlScheme(REQUEST request);
|
||||||
return getScheme(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the path and query pieces of the URL, joined by the {@code ?} character.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getUrlPath(Object)} and {@link #getUrlQuery(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getTarget(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
default String getUrlPath(REQUEST request) {
|
String getUrlPath(REQUEST request);
|
||||||
String target = getTarget(request);
|
|
||||||
if (target == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
int separatorPos = target.indexOf('?');
|
|
||||||
return separatorPos == -1 ? target : target.substring(0, separatorPos);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: make this required to implement
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
default String getUrlQuery(REQUEST request) {
|
String getUrlQuery(REQUEST request);
|
||||||
String target = getTarget(request);
|
|
||||||
if (target == null) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
int separatorPos = target.indexOf('?');
|
|
||||||
return separatorPos == -1 ? null : target.substring(separatorPos + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the matched route (path template in the format used by the respective server
|
|
||||||
* framework).
|
|
||||||
*
|
|
||||||
* <p>Examples: {@code /users/:userID?}, {@code {controller}/{action}/{id?}}
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. Implement {@link
|
|
||||||
* #getHttpRoute(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getRoute(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the matched route (path template in the format used by the respective server
|
* Returns the matched route (path template in the format used by the respective server
|
||||||
|
@ -99,6 +41,6 @@ public interface HttpServerAttributesGetter<REQUEST, RESPONSE>
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
default String getHttpRoute(REQUEST request) {
|
default String getHttpRoute(REQUEST request) {
|
||||||
return getRoute(request);
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,16 +22,6 @@ public interface MessagingAttributesGetter<REQUEST, RESPONSE> {
|
||||||
@Nullable
|
@Nullable
|
||||||
String getSystem(REQUEST request);
|
String getSystem(REQUEST request);
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated This method is deprecated and will be removed in a future release. There is no
|
|
||||||
* replacement for this concept.
|
|
||||||
*/
|
|
||||||
@Nullable
|
|
||||||
@Deprecated
|
|
||||||
default String getDestinationKind(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
String getDestination(REQUEST request);
|
String getDestination(REQUEST request);
|
||||||
|
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.instrumentation.api.instrumenter.net;
|
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extractor of <a
|
|
||||||
* href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/span-general.md#general-network-connection-attributes">Network
|
|
||||||
* attributes</a> from a {@link InetSocketAddress}.
|
|
||||||
*
|
|
||||||
* @deprecated Use {@link NetClientAttributesGetter} and its {@link
|
|
||||||
* NetClientAttributesGetter#getPeerSocketAddress(Object, Object)} method instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public abstract class InetSocketAddressNetClientAttributesGetter<REQUEST, RESPONSE>
|
|
||||||
implements NetClientAttributesGetter<REQUEST, RESPONSE> {
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public abstract InetSocketAddress getPeerSocketAddress(
|
|
||||||
REQUEST request, @Nullable RESPONSE response);
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright The OpenTelemetry Authors
|
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
|
||||||
*/
|
|
||||||
|
|
||||||
package io.opentelemetry.instrumentation.api.instrumenter.net;
|
|
||||||
|
|
||||||
import java.net.InetSocketAddress;
|
|
||||||
import javax.annotation.Nullable;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extractor of <a
|
|
||||||
* href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/span-general.md#general-network-connection-attributes">Network
|
|
||||||
* attributes</a> from a {@link InetSocketAddress}.
|
|
||||||
*
|
|
||||||
* @deprecated Use {@link NetServerAttributesGetter} and its {@link
|
|
||||||
* NetServerAttributesGetter#getPeerSocketAddress(Object)} {@link
|
|
||||||
* NetServerAttributesGetter#getHostSocketAddress(Object)} methods instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
public abstract class InetSocketAddressNetServerAttributesGetter<REQUEST, RESPONSE>
|
|
||||||
implements NetServerAttributesGetter<REQUEST, RESPONSE> {
|
|
||||||
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public abstract InetSocketAddress getPeerSocketAddress(REQUEST request);
|
|
||||||
|
|
||||||
// optional
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
public abstract InetSocketAddress getHostSocketAddress(REQUEST request);
|
|
||||||
}
|
|
|
@ -19,8 +19,7 @@ import javax.annotation.Nullable;
|
||||||
/**
|
/**
|
||||||
* Extractor of <a
|
* Extractor of <a
|
||||||
* href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/span-general.md#general-network-connection-attributes">Network
|
* href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/span-general.md#general-network-connection-attributes">Network
|
||||||
* attributes</a>. It is common to have access to {@link java.net.InetSocketAddress}, in which case
|
* attributes</a>.
|
||||||
* it is more convenient to use {@link InetSocketAddressNetClientAttributesGetter}.
|
|
||||||
*
|
*
|
||||||
* <p>This class delegates to a type-specific {@link NetClientAttributesGetter} for individual
|
* <p>This class delegates to a type-specific {@link NetClientAttributesGetter} for individual
|
||||||
* attribute extraction from request/response objects.
|
* attribute extraction from request/response objects.
|
||||||
|
|
|
@ -27,117 +27,6 @@ public interface NetClientAttributesGetter<REQUEST, RESPONSE>
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the application protocol used.
|
|
||||||
*
|
|
||||||
* <p>Examples: `amqp`, `http`, `mqtt`.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getNetworkProtocolName(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getProtocolName(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the version of the application protocol used.
|
|
||||||
*
|
|
||||||
* <p>Examples: `3.1.1`.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getNetworkProtocolVersion(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getProtocolVersion(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getNetworkType(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return InetSocketAddressUtil.getNetworkType(getPeerSocketAddress(request, response), null);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getNetworkProtocolName(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getProtocolName(request, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getNetworkProtocolVersion(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getProtocolVersion(request, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the logical peer name.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerAddress(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getPeerName(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the logical peer port.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerPort(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default Integer getPeerPort(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getServerAddress(REQUEST request) {
|
|
||||||
return getPeerName(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default Integer getServerPort(REQUEST request) {
|
|
||||||
return getPeerPort(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an {@link InetSocketAddress} object representing the peer socket address.
|
|
||||||
*
|
|
||||||
* <p>Implementing this method is equivalent to implementing all four of {@link
|
|
||||||
* #getSockFamily(Object, Object)}, {@link #getSockPeerAddr(Object, Object)}, {@link
|
|
||||||
* #getSockPeerName(Object, Object)} and {@link #getSockPeerPort(Object, Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerInetSocketAddress(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default InetSocketAddress getPeerSocketAddress(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default InetSocketAddress getServerInetSocketAddress(
|
|
||||||
REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getPeerSocketAddress(request, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the protocol <a
|
* Returns the protocol <a
|
||||||
* href="https://man7.org/linux/man-pages/man7/address_families.7.html">address family</a> which
|
* href="https://man7.org/linux/man-pages/man7/address_families.7.html">address family</a> which
|
||||||
|
@ -146,95 +35,21 @@ public interface NetClientAttributesGetter<REQUEST, RESPONSE>
|
||||||
* <p>Examples: {@code inet}, {@code inet6}
|
* <p>Examples: {@code inet}, {@code inet6}
|
||||||
*
|
*
|
||||||
* <p>By default, this method attempts to retrieve the address family using the {@link
|
* <p>By default, this method attempts to retrieve the address family using the {@link
|
||||||
* #getPeerSocketAddress(Object, Object)} method. If it is not implemented, it will simply return
|
* #getServerInetSocketAddress(Object, Object)} method. If it is not implemented, it will simply
|
||||||
* {@code null}. If the instrumented library does not expose {@link InetSocketAddress} in its API,
|
* return {@code null}. If the instrumented library does not expose {@link InetSocketAddress} in
|
||||||
* you might want to implement this method instead of {@link #getPeerSocketAddress(Object,
|
* its API, you might want to implement this method instead of {@link
|
||||||
* Object)}.
|
* #getServerSocketAddress(Object, Object)}.
|
||||||
*/
|
*/
|
||||||
@Nullable
|
@Nullable
|
||||||
default String getSockFamily(REQUEST request, @Nullable RESPONSE response) {
|
default String getSockFamily(REQUEST request, @Nullable RESPONSE response) {
|
||||||
return InetSocketAddressUtil.getSockFamily(getServerInetSocketAddress(request, response), null);
|
return InetSocketAddressUtil.getSockFamily(getServerInetSocketAddress(request, response), null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the remote socket peer address: IPv4 or IPv6 for internet protocols, path for local
|
|
||||||
* communication, etc.
|
|
||||||
*
|
|
||||||
* <p>Examples: {@code 127.0.0.1}, {@code /tmp/mysql.sock}
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the peer address using the {@link
|
|
||||||
* #getPeerSocketAddress(Object, Object)} method. If this method is not implemented, it will
|
|
||||||
* simply return {@code null}. If the instrumented library does not expose {@link
|
|
||||||
* InetSocketAddress} in its API, you might want to implement this method instead of {@link
|
|
||||||
* #getPeerSocketAddress(Object, Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerSocketAddress(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getSockPeerAddr(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return InetSocketAddressUtil.getIpAddress(getServerInetSocketAddress(request, response));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the domain name of an immediate peer.
|
|
||||||
*
|
|
||||||
* <p>Examples: {@code proxy.example.com}
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the peer host name using the {@link
|
|
||||||
* #getPeerSocketAddress(Object, Object)} method. If this method is not implemented, it will
|
|
||||||
* simply return {@code null}. If the instrumented library does not expose {@link
|
|
||||||
* InetSocketAddress} in its API, you might want to implement this method instead of {@link
|
|
||||||
* #getPeerSocketAddress(Object, Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerSocketDomain(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getSockPeerName(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return InetSocketAddressUtil.getDomainName(getServerInetSocketAddress(request, response));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the remote socket peer port.
|
|
||||||
*
|
|
||||||
* <p>Examples: {@code 16456}
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the peer port using the {@link
|
|
||||||
* #getPeerSocketAddress(Object, Object)} method. If this method is not implemented, it will
|
|
||||||
* simply return {@code null}. If the instrumented library does not expose {@link
|
|
||||||
* InetSocketAddress} in its API, you might want to implement this method instead of {@link
|
|
||||||
* #getPeerSocketAddress(Object, Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerSocketPort(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default Integer getSockPeerPort(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return InetSocketAddressUtil.getPort(getServerInetSocketAddress(request, response));
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
@Nullable
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
default String getServerSocketDomain(REQUEST request, @Nullable RESPONSE response) {
|
default String getNetworkType(REQUEST request, @Nullable RESPONSE response) {
|
||||||
return getSockPeerName(request, response);
|
return InetSocketAddressUtil.getNetworkType(
|
||||||
}
|
getServerInetSocketAddress(request, response), null);
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getServerSocketAddress(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getSockPeerAddr(request, response);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default Integer getServerSocketPort(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getSockPeerPort(request, response);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,31 +31,23 @@ public interface NetServerAttributesGetter<REQUEST, RESPONSE>
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the application protocol used.
|
* Returns the protocol <a
|
||||||
|
* href="https://man7.org/linux/man-pages/man7/address_families.7.html">address family</a> which
|
||||||
|
* is used for communication.
|
||||||
*
|
*
|
||||||
* <p>Examples: `amqp`, `http`, `mqtt`.
|
* <p>Examples: `inet`, `inet6`.
|
||||||
*
|
*
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
* <p>By default, this method attempts to retrieve the address family using one of the {@link
|
||||||
* {@link #getNetworkProtocolName(Object, Object)} instead.
|
* #getClientInetSocketAddress(Object, Object)} and {@link #getServerInetSocketAddress(Object,
|
||||||
|
* Object)} methods. If neither of these methods is implemented, it will simply return {@code
|
||||||
|
* null}. If the instrumented library does not expose {@link InetSocketAddress} in its API, you
|
||||||
|
* might want to implement this method instead of {@link #getClientInetSocketAddress(Object,
|
||||||
|
* Object)} and {@link #getServerInetSocketAddress(Object, Object)}.
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
@Nullable
|
||||||
default String getProtocolName(REQUEST request) {
|
default String getSockFamily(REQUEST request) {
|
||||||
return null;
|
return InetSocketAddressUtil.getSockFamily(
|
||||||
}
|
getClientInetSocketAddress(request, null), getServerInetSocketAddress(request, null));
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the version of the application protocol used.
|
|
||||||
*
|
|
||||||
* <p>Examples: `3.1.1`.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getNetworkProtocolVersion(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getProtocolVersion(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
/** {@inheritDoc} */
|
||||||
|
@ -66,226 +58,4 @@ public interface NetServerAttributesGetter<REQUEST, RESPONSE>
|
||||||
getClientInetSocketAddress(request, response),
|
getClientInetSocketAddress(request, response),
|
||||||
getServerInetSocketAddress(request, response));
|
getServerInetSocketAddress(request, response));
|
||||||
}
|
}
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getNetworkProtocolName(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getProtocolName(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getNetworkProtocolVersion(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getProtocolVersion(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the logical host name.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerAddress(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getHostName(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the logical host port.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerPort(Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default Integer getHostPort(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getServerAddress(REQUEST request) {
|
|
||||||
return getHostName(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default Integer getServerPort(REQUEST request) {
|
|
||||||
return getHostPort(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the protocol <a
|
|
||||||
* href="https://man7.org/linux/man-pages/man7/address_families.7.html">address family</a> which
|
|
||||||
* is used for communication.
|
|
||||||
*
|
|
||||||
* <p>Examples: `inet`, `inet6`.
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the address family using one of the {@link
|
|
||||||
* #getPeerSocketAddress(Object)} and {@link #getHostSocketAddress(Object)} methods. If neither of
|
|
||||||
* these methods is implemented, it will simply return {@code null}. If the instrumented library
|
|
||||||
* does not expose {@link InetSocketAddress} in its API, you might want to implement this method
|
|
||||||
* instead of {@link #getPeerSocketAddress(Object)} and {@link #getHostSocketAddress(Object)}.
|
|
||||||
*/
|
|
||||||
@Nullable
|
|
||||||
default String getSockFamily(REQUEST request) {
|
|
||||||
return InetSocketAddressUtil.getSockFamily(
|
|
||||||
getClientInetSocketAddress(request, null), getServerInetSocketAddress(request, null));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an {@link InetSocketAddress} object representing the peer socket address.
|
|
||||||
*
|
|
||||||
* <p>Implementing this method is equivalent to implementing all three of {@link
|
|
||||||
* #getSockFamily(Object)}, {@link #getSockPeerAddr(Object)} and {@link #getSockPeerPort(Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getClientInetSocketAddress(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default InetSocketAddress getPeerSocketAddress(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default InetSocketAddress getClientInetSocketAddress(
|
|
||||||
REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getPeerSocketAddress(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the remote socket peer address: IPv4 or IPv6 for internet protocols, path for local
|
|
||||||
* communication, etc.
|
|
||||||
*
|
|
||||||
* <p>Examples: `127.0.0.1`, `/tmp/mysql.sock`.
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the peer address using the {@link
|
|
||||||
* #getPeerSocketAddress(Object)} method. If this method is not implemented, it will simply return
|
|
||||||
* {@code null}. If the instrumented library does not expose {@link InetSocketAddress} in its API,
|
|
||||||
* you might want to implement this method instead of {@link #getPeerSocketAddress(Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getClientSocketAddress(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getSockPeerAddr(REQUEST request) {
|
|
||||||
return InetSocketAddressUtil.getIpAddress(getClientInetSocketAddress(request, null));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the remote socket peer port.
|
|
||||||
*
|
|
||||||
* <p>Examples: `16456`.
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the peer port using the {@link
|
|
||||||
* #getPeerSocketAddress(Object)} method. If this method is not implemented, it will simply return
|
|
||||||
* {@code null}. If the instrumented library does not expose {@link InetSocketAddress} in its API,
|
|
||||||
* you might want to implement this method instead of {@link #getPeerSocketAddress(Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getClientSocketPort(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default Integer getSockPeerPort(REQUEST request) {
|
|
||||||
return InetSocketAddressUtil.getPort(getClientInetSocketAddress(request, null));
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getClientSocketAddress(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getSockPeerAddr(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default Integer getClientSocketPort(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getSockPeerPort(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns an {@link InetSocketAddress} object representing the host socket address.
|
|
||||||
*
|
|
||||||
* <p>Implementing this method is equivalent to implementing all three of {@link
|
|
||||||
* #getSockFamily(Object)}, {@link #getSockHostAddr(Object)} and {@link #getSockHostPort(Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerInetSocketAddress(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default InetSocketAddress getHostSocketAddress(REQUEST request) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default InetSocketAddress getServerInetSocketAddress(
|
|
||||||
REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getHostSocketAddress(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the local socket address. Useful in case of a multi-IP host.
|
|
||||||
*
|
|
||||||
* <p>Examples: `192.168.0.1`.
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the host address using the {@link
|
|
||||||
* #getHostSocketAddress(Object)} method. If this method is not implemented, it will simply return
|
|
||||||
* {@code null}. If the instrumented library does not expose {@link InetSocketAddress} in its API,
|
|
||||||
* you might want to implement this method instead of {@link #getHostSocketAddress(Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerSocketAddress(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default String getSockHostAddr(REQUEST request) {
|
|
||||||
return InetSocketAddressUtil.getIpAddress(getServerInetSocketAddress(request, null));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the local socket port number.
|
|
||||||
*
|
|
||||||
* <p>Examples: `35555`.
|
|
||||||
*
|
|
||||||
* <p>By default, this method attempts to retrieve the host port using the {@link
|
|
||||||
* #getHostSocketAddress(Object)} method. If this method is not implemented, it will simply return
|
|
||||||
* {@code null}. If the instrumented library does not expose {@link InetSocketAddress} in its API,
|
|
||||||
* you might want to implement this method instead of {@link #getHostSocketAddress(Object)}.
|
|
||||||
*
|
|
||||||
* @deprecated This method is deprecated and will be removed in the following release. Implement
|
|
||||||
* {@link #getServerSocketPort(Object, Object)} instead.
|
|
||||||
*/
|
|
||||||
@Deprecated
|
|
||||||
@Nullable
|
|
||||||
default Integer getSockHostPort(REQUEST request) {
|
|
||||||
return InetSocketAddressUtil.getPort(getServerInetSocketAddress(request, null));
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default String getServerSocketAddress(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getSockHostAddr(request);
|
|
||||||
}
|
|
||||||
|
|
||||||
/** {@inheritDoc} */
|
|
||||||
@Nullable
|
|
||||||
@Override
|
|
||||||
default Integer getServerSocketPort(REQUEST request, @Nullable RESPONSE response) {
|
|
||||||
return getSockHostPort(request);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ package io.opentelemetry.instrumentation.api.instrumenter.net;
|
||||||
import io.opentelemetry.api.common.AttributesBuilder;
|
import io.opentelemetry.api.common.AttributesBuilder;
|
||||||
import io.opentelemetry.context.Context;
|
import io.opentelemetry.context.Context;
|
||||||
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
|
import io.opentelemetry.instrumentation.api.instrumenter.AttributesExtractor;
|
||||||
|
import io.opentelemetry.instrumentation.api.instrumenter.network.ServerAttributesGetter;
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
@ -20,12 +21,12 @@ import javax.annotation.Nullable;
|
||||||
public final class PeerServiceAttributesExtractor<REQUEST, RESPONSE>
|
public final class PeerServiceAttributesExtractor<REQUEST, RESPONSE>
|
||||||
implements AttributesExtractor<REQUEST, RESPONSE> {
|
implements AttributesExtractor<REQUEST, RESPONSE> {
|
||||||
|
|
||||||
private final NetClientAttributesGetter<REQUEST, RESPONSE> attributesGetter;
|
private final ServerAttributesGetter<REQUEST, RESPONSE> attributesGetter;
|
||||||
private final Map<String, String> peerServiceMapping;
|
private final Map<String, String> peerServiceMapping;
|
||||||
|
|
||||||
// visible for tests
|
// visible for tests
|
||||||
PeerServiceAttributesExtractor(
|
PeerServiceAttributesExtractor(
|
||||||
NetClientAttributesGetter<REQUEST, RESPONSE> attributesGetter,
|
ServerAttributesGetter<REQUEST, RESPONSE> attributesGetter,
|
||||||
Map<String, String> peerServiceMapping) {
|
Map<String, String> peerServiceMapping) {
|
||||||
this.attributesGetter = attributesGetter;
|
this.attributesGetter = attributesGetter;
|
||||||
this.peerServiceMapping = peerServiceMapping;
|
this.peerServiceMapping = peerServiceMapping;
|
||||||
|
@ -36,7 +37,7 @@ public final class PeerServiceAttributesExtractor<REQUEST, RESPONSE>
|
||||||
* netAttributesExtractor} instance to determine the value of the {@code peer.service} attribute.
|
* netAttributesExtractor} instance to determine the value of the {@code peer.service} attribute.
|
||||||
*/
|
*/
|
||||||
public static <REQUEST, RESPONSE> AttributesExtractor<REQUEST, RESPONSE> create(
|
public static <REQUEST, RESPONSE> AttributesExtractor<REQUEST, RESPONSE> create(
|
||||||
NetClientAttributesGetter<REQUEST, RESPONSE> attributesGetter,
|
ServerAttributesGetter<REQUEST, RESPONSE> attributesGetter,
|
||||||
Map<String, String> peerServiceMapping) {
|
Map<String, String> peerServiceMapping) {
|
||||||
return new PeerServiceAttributesExtractor<>(attributesGetter, peerServiceMapping);
|
return new PeerServiceAttributesExtractor<>(attributesGetter, peerServiceMapping);
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,6 +17,7 @@ import static org.mockito.Mockito.when;
|
||||||
import io.opentelemetry.api.common.Attributes;
|
import io.opentelemetry.api.common.Attributes;
|
||||||
import io.opentelemetry.api.common.AttributesBuilder;
|
import io.opentelemetry.api.common.AttributesBuilder;
|
||||||
import io.opentelemetry.context.Context;
|
import io.opentelemetry.context.Context;
|
||||||
|
import io.opentelemetry.instrumentation.api.instrumenter.network.ServerAttributesGetter;
|
||||||
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -27,7 +28,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
||||||
|
|
||||||
@ExtendWith(MockitoExtension.class)
|
@ExtendWith(MockitoExtension.class)
|
||||||
class PeerServiceAttributesExtractorTest {
|
class PeerServiceAttributesExtractorTest {
|
||||||
@Mock NetClientAttributesGetter<String, String> netAttributesExtractor;
|
@Mock ServerAttributesGetter<String, String> netAttributesExtractor;
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void shouldNotSetAnyValueIfNetExtractorReturnsNulls() {
|
void shouldNotSetAnyValueIfNetExtractorReturnsNulls() {
|
||||||
|
|
Loading…
Reference in New Issue