Package io.smallrye.metrics.jaxrs
Class JaxRsMetricsFilter
- java.lang.Object
-
- io.smallrye.metrics.jaxrs.JaxRsMetricsFilter
-
- All Implemented Interfaces:
jakarta.ws.rs.container.ContainerRequestFilter,jakarta.ws.rs.container.ContainerResponseFilter
public class JaxRsMetricsFilter extends Object implements jakarta.ws.rs.container.ContainerRequestFilter, jakarta.ws.rs.container.ContainerResponseFilter
Filter for measuring JAX-RS metrics, together withJaxRsMetricsServletFilter. The reason for having two filters (one based on Servlet API, one on JAX-RS API) is to overcome the limitation of JAX-RS specification in that it does not require implementations to call a ContainerResponseFilter to finish exchanges that led to an unmapped exception. That's why we can't use a ContainerResponseFilter to 'finish' the tracking of a REST call and update the corresponding metrics. For that reason, we haveJaxRsMetricsServletFilter, which is a Servlet Filter, to hook into the responses in this case. To get all of this logic working on a target runtime server, it is necessary to register both theJaxRsMetricsServletFilterandJaxRsMetricsFilterto handle incoming requests.JaxRsMetricsServletFiltermust run first, but this will probably be the case always.
-
-
Constructor Summary
Constructors Constructor Description JaxRsMetricsFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfilter(jakarta.ws.rs.container.ContainerRequestContext requestContext)voidfilter(jakarta.ws.rs.container.ContainerRequestContext requestContext, jakarta.ws.rs.container.ContainerResponseContext responseContext)
-
-
-
Method Detail
-
filter
public void filter(jakarta.ws.rs.container.ContainerRequestContext requestContext)
- Specified by:
filterin interfacejakarta.ws.rs.container.ContainerRequestFilter
-
filter
public void filter(jakarta.ws.rs.container.ContainerRequestContext requestContext, jakarta.ws.rs.container.ContainerResponseContext responseContext) throws IOException- Specified by:
filterin interfacejakarta.ws.rs.container.ContainerResponseFilter- Throws:
IOException
-
-