com.atlassian.util.profiling.filters
Class ProfilingFilter

java.lang.Object
  extended bycom.atlassian.util.profiling.filters.ProfilingFilter
All Implemented Interfaces:
javax.servlet.Filter

public class ProfilingFilter
extends java.lang.Object
implements javax.servlet.Filter

Filter that will intercept requests & time how long it takes for them to return. It stores this information in the ProfilingTimerBean.

Install the filter in your web.xml file as follows:

   <filter>
      <filter-name>profiling</filter-name>
      <filter-class>com.atlassian.util.profiling.filters.ProfilingFilter</filter-class>
      <init-param>
             <param-name>activate.param</param-name>
             <param-value>profilingfilter</param-value>
         </init-param>
         <init-param>
             <param-name>autostart</param-name>
             <param-value>false</param-value>
         </init-param>
  </filter>

  <filter-mapping>
      <filter-name>profiling</filter-name>
      <url-pattern>/*</url-pattern>
  </filter-mapping>
 

With the above settings you can turn the filter on by accessing any URL with the parameter profilingfilter=on.eg:

    http://mywebsite.com/a.jsp?profilingfilter=on

The above settings also sets the filter to not start automatically upon startup. This may be useful for production, but you will most likely want to set this true in development.

Author:
Mike Cannon-Brookes, Scott Farquhar

Constructor Summary
ProfilingFilter()
           
 
Method Summary
 void destroy()
           
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
          Check for parameters to turn the filter on or off.
 void init(javax.servlet.FilterConfig filterConfig)
           
 void setFilterConfig(javax.servlet.FilterConfig filterConfig)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProfilingFilter

public ProfilingFilter()
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
Check for parameters to turn the filter on or off. If parameters are given, change the current state of the filter. If current state is off then pass to filter chain. If current state is on - record start time, pass to filter chain, and then record total time on the return.

Specified by:
doFilter in interface javax.servlet.Filter
Throws:
java.io.IOException
javax.servlet.ServletException

setFilterConfig

public void setFilterConfig(javax.servlet.FilterConfig filterConfig)

init

public void init(javax.servlet.FilterConfig filterConfig)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Filter
Throws:
javax.servlet.ServletException

destroy

public void destroy()
Specified by:
destroy in interface javax.servlet.Filter


Copyright © Atlassian Software Systems Pty Ltd. All Rights Reserved.