Package io.opencensus.contrib.http.jaxrs
Class JaxrsContainerFilter
java.lang.Object
io.opencensus.contrib.http.jaxrs.JaxrsContainerFilter
- All Implemented Interfaces:
javax.ws.rs.container.ContainerRequestFilter
,javax.ws.rs.container.ContainerResponseFilter
@Provider
@Priority(4900)
public class JaxrsContainerFilter
extends Object
implements javax.ws.rs.container.ContainerRequestFilter, javax.ws.rs.container.ContainerResponseFilter
JAX-RS request and response filter to provide instrumentation of JAX-RS based endpoint with
OpenCensus. Filter will instrument any endpoint marked with the
Metrics
annotation.
Filter will also start a scoped span so that child spans may be added.- Since:
- 0.19
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final String
private static final TextFormat.Getter
<javax.ws.rs.container.ContainerRequestContext> private final HttpServerHandler
<ExtendedContainerRequest, javax.ws.rs.container.ContainerResponseContext, javax.ws.rs.container.ContainerRequestContext> private javax.ws.rs.container.ResourceInfo
private static final String
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor construct new instance withJaxrsContainerExtractor
,PropagationComponent.getTraceContextFormat()
and as public endpoint.JaxrsContainerFilter
(HttpExtractor<ExtendedContainerRequest, javax.ws.rs.container.ContainerResponseContext> extractor, TextFormat propagationFormat, Boolean publicEndpoint) Construct instance with custom configuration. -
Method Summary
-
Field Details
-
CONTEXT_PROPERTY
- See Also:
-
SPAN_PROPERTY
- See Also:
-
GETTER
-
handler
private final HttpServerHandler<ExtendedContainerRequest,javax.ws.rs.container.ContainerResponseContext, handlerjavax.ws.rs.container.ContainerRequestContext> -
info
@Context private javax.ws.rs.container.ResourceInfo info
-
-
Constructor Details
-
JaxrsContainerFilter
public JaxrsContainerFilter()Default constructor construct new instance withJaxrsContainerExtractor
,PropagationComponent.getTraceContextFormat()
and as public endpoint.- See Also:
-
JaxrsContainerFilter
public JaxrsContainerFilter(HttpExtractor<ExtendedContainerRequest, javax.ws.rs.container.ContainerResponseContext> extractor, TextFormat propagationFormat, Boolean publicEndpoint) Construct instance with custom configuration.- Parameters:
extractor
- theHttpExtractor
used to extract information from the request/response.propagationFormat
- theTextFormat
used in HTTP propagation.publicEndpoint
- set to true for publicly accessible HTTP(S) server. If true then incoming tracecontext will be added as a link instead of as a parent.
-
-
Method Details
-
filter
- Specified by:
filter
in interfacejavax.ws.rs.container.ContainerRequestFilter
- Throws:
IOException
-
filter
public void filter(javax.ws.rs.container.ContainerRequestContext requestContext, javax.ws.rs.container.ContainerResponseContext responseContext) throws IOException - Specified by:
filter
in interfacejavax.ws.rs.container.ContainerResponseFilter
- Throws:
IOException
-