Interface AttributesExtractor<REQUEST,RESPONSE>
- All Known Implementing Classes:
ClientAttributesExtractor,HttpClientAttributesExtractor,HttpServerAttributesExtractor,NetworkAttributesExtractor,ServerAttributesExtractor,UrlAttributesExtractor
public interface AttributesExtractor<REQUEST,RESPONSE>
Extractor of
Attributes for a given request and response. Will be called on start with just the AttributesExtractor and again
on end with both
AttributesExtractor and AttributesExtractor to allow populating attributes at each stage of a request's
lifecycle. It is best to populate as many attributes as possible in onStart(AttributesBuilder, Context, Object) to have them available during span sampling.-
Method Summary
Modifier and TypeMethodDescriptionstatic <REQUEST,RESPONSE, T>
AttributesExtractor<REQUEST, RESPONSE> constant(io.opentelemetry.api.common.AttributeKey<T> attributeKey, T attributeValue) Returns anAttributesExtractorimplementation that always extracts the provided constant value on the request start.voidonEnd(io.opentelemetry.api.common.AttributesBuilder attributes, io.opentelemetry.context.Context context, REQUEST request, RESPONSE response, Throwable error) Extracts attributes from theContext, theAttributesExtractorand eitherAttributesExtractororerrorinto theAttributesBuilderat the end of a request.voidonStart(io.opentelemetry.api.common.AttributesBuilder attributes, io.opentelemetry.context.Context parentContext, REQUEST request) Extracts attributes from theContextand theAttributesExtractorinto theAttributesBuilderat the beginning of a request.
-
Method Details
-
onStart
void onStart(io.opentelemetry.api.common.AttributesBuilder attributes, io.opentelemetry.context.Context parentContext, REQUEST request) Extracts attributes from theContextand theAttributesExtractorinto theAttributesBuilderat the beginning of a request. -
onEnd
void onEnd(io.opentelemetry.api.common.AttributesBuilder attributes, io.opentelemetry.context.Context context, REQUEST request, @Nullable RESPONSE response, @Nullable Throwable error) Extracts attributes from theContext, theAttributesExtractorand eitherAttributesExtractororerrorinto theAttributesBuilderat the end of a request. -
constant
static <REQUEST,RESPONSE, AttributesExtractor<REQUEST,T> RESPONSE> constant(io.opentelemetry.api.common.AttributeKey<T> attributeKey, T attributeValue) Returns anAttributesExtractorimplementation that always extracts the provided constant value on the request start.
-