Class RequestTrackingFilter

  • All Implemented Interfaces:
    javax.servlet.Filter, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.context.EnvironmentAware, org.springframework.core.env.EnvironmentCapable, org.springframework.web.context.ServletContextAware

    public class RequestTrackingFilter
    extends org.springframework.web.filter.DelegatingFilterProxy
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static char REQUEST_ID_SEPARATOR  
      • Fields inherited from class org.springframework.web.filter.GenericFilterBean

        logger
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addServerTimingMetrics​(ServerTimingMetric serverTimingMetric)  
      void addServerTimingMetricsForSubRequest​(org.springframework.http.HttpHeaders httpHeaders)  
      void destroy()  
      void doFilter​(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)  
      <T> T executeInSubRequestScope​(java.lang.String subRequestScope, java.util.function.Supplier<T> supplier)  
      <T> T executeNewSubRequest​(java.lang.String context, java.util.function.Function<java.lang.String,​T> function)  
      java.lang.String generateNewSubRequestId​(java.lang.String context)  
      java.lang.String getRequestTrackingHeaderName()  
      java.lang.String getRequestTrackingIdPrefix()  
      java.lang.Runnable getRunnableInSubRequestScope​(java.lang.Runnable runnable)  
      void setRequestTrackingHeaderName​(java.lang.String requestTrackingHeaderName)  
      void setRequestTrackingIdPrefix​(java.lang.String requestTrackingIdPrefix)  
      void setServerTimingsEnabled​(boolean serverTimingsEnabled)  
      • Methods inherited from class org.springframework.web.filter.DelegatingFilterProxy

        destroyDelegate, findWebApplicationContext, getContextAttribute, getTargetBeanName, initDelegate, initFilterBean, invokeDelegate, isTargetFilterLifecycle, setContextAttribute, setTargetBeanName, setTargetFilterLifecycle
      • Methods inherited from class org.springframework.web.filter.GenericFilterBean

        addRequiredProperty, afterPropertiesSet, createEnvironment, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, setBeanName, setEnvironment, setServletContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • RequestTrackingFilter

        public RequestTrackingFilter()
    • Method Detail

      • doFilter

        public void doFilter​(javax.servlet.ServletRequest request,
                             javax.servlet.ServletResponse response,
                             javax.servlet.FilterChain chain)
                      throws java.io.IOException,
                             javax.servlet.ServletException
        Specified by:
        doFilter in interface javax.servlet.Filter
        Overrides:
        doFilter in class org.springframework.web.filter.DelegatingFilterProxy
        Throws:
        java.io.IOException
        javax.servlet.ServletException
      • destroy

        public void destroy()
        Specified by:
        destroy in interface org.springframework.beans.factory.DisposableBean
        Specified by:
        destroy in interface javax.servlet.Filter
        Overrides:
        destroy in class org.springframework.web.filter.DelegatingFilterProxy
      • generateNewSubRequestId

        public java.lang.String generateNewSubRequestId​(java.lang.String context)
      • getRunnableInSubRequestScope

        public java.lang.Runnable getRunnableInSubRequestScope​(java.lang.Runnable runnable)
      • getRequestTrackingIdPrefix

        public java.lang.String getRequestTrackingIdPrefix()
      • setRequestTrackingIdPrefix

        public void setRequestTrackingIdPrefix​(java.lang.String requestTrackingIdPrefix)
      • getRequestTrackingHeaderName

        public java.lang.String getRequestTrackingHeaderName()
      • setRequestTrackingHeaderName

        public void setRequestTrackingHeaderName​(java.lang.String requestTrackingHeaderName)
      • executeNewSubRequest

        public <T> T executeNewSubRequest​(java.lang.String context,
                                          java.util.function.Function<java.lang.String,​T> function)
      • executeInSubRequestScope

        public <T> T executeInSubRequestScope​(java.lang.String subRequestScope,
                                              java.util.function.Supplier<T> supplier)
      • addServerTimingMetricsForSubRequest

        public void addServerTimingMetricsForSubRequest​(org.springframework.http.HttpHeaders httpHeaders)
      • addServerTimingMetrics

        public void addServerTimingMetrics​(ServerTimingMetric serverTimingMetric)
      • setServerTimingsEnabled

        public void setServerTimingsEnabled​(boolean serverTimingsEnabled)