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 java.lang.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 theMetrics
annotation. Filter will also start a scoped span so that child spans may be added.- Since:
- 0.19
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
CONTEXT_PROPERTY
private static TextFormat.Getter<javax.ws.rs.container.ContainerRequestContext>
GETTER
private HttpServerHandler<ExtendedContainerRequest,javax.ws.rs.container.ContainerResponseContext,javax.ws.rs.container.ContainerRequestContext>
handler
private javax.ws.rs.container.ResourceInfo
info
private static java.lang.String
SPAN_PROPERTY
-
Constructor Summary
Constructors Constructor Description JaxrsContainerFilter()
Default constructor construct new instance withJaxrsContainerExtractor
,PropagationComponent.getTraceContextFormat()
and as public endpoint.JaxrsContainerFilter(HttpExtractor<ExtendedContainerRequest,javax.ws.rs.container.ContainerResponseContext> extractor, TextFormat propagationFormat, java.lang.Boolean publicEndpoint)
Construct instance with custom configuration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
filter(javax.ws.rs.container.ContainerRequestContext requestContext)
void
filter(javax.ws.rs.container.ContainerRequestContext requestContext, javax.ws.rs.container.ContainerResponseContext responseContext)
-
-
-
Field Detail
-
CONTEXT_PROPERTY
private static final java.lang.String CONTEXT_PROPERTY
- See Also:
- Constant Field Values
-
SPAN_PROPERTY
private static final java.lang.String SPAN_PROPERTY
- See Also:
- Constant Field Values
-
GETTER
private static final TextFormat.Getter<javax.ws.rs.container.ContainerRequestContext> GETTER
-
handler
private final HttpServerHandler<ExtendedContainerRequest,javax.ws.rs.container.ContainerResponseContext,javax.ws.rs.container.ContainerRequestContext> handler
-
info
@Context private javax.ws.rs.container.ResourceInfo info
-
-
Constructor Detail
-
JaxrsContainerFilter
public JaxrsContainerFilter()
Default constructor construct new instance withJaxrsContainerExtractor
,PropagationComponent.getTraceContextFormat()
and as public endpoint.
-
JaxrsContainerFilter
public JaxrsContainerFilter(HttpExtractor<ExtendedContainerRequest,javax.ws.rs.container.ContainerResponseContext> extractor, TextFormat propagationFormat, java.lang.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 Detail
-
filter
public void filter(javax.ws.rs.container.ContainerRequestContext requestContext) throws java.io.IOException
- Specified by:
filter
in interfacejavax.ws.rs.container.ContainerRequestFilter
- Throws:
java.io.IOException
-
filter
public void filter(javax.ws.rs.container.ContainerRequestContext requestContext, javax.ws.rs.container.ContainerResponseContext responseContext) throws java.io.IOException
- Specified by:
filter
in interfacejavax.ws.rs.container.ContainerResponseFilter
- Throws:
java.io.IOException
-
-