Profiler

From Resin 3.0

Jump to: navigation, search

Resin includes high level profiling capability for profiling requests.

Contents

Enabling the Profiler

 <web-app ...>
 
   <servlet-mapping servlet-class="com.caucho.tools.profiler.ProfilerServlet" url-pattern="/resin-profiler">
     <init>
       <profiler enabled="true"/>
     </init>
     <load-on-startup/>
   </servlet-mapping>

Profiling requests

Request profiling gives insight into the time taken for requests from client browsers.

It imposes very little overhead and is suitable for production servers.

 <web-app ...>
 
   <filter filter-name="resin-profiler"
           filter-class="com.caucho.tools.profiler.ProfilerFilter">
     <init use-query="false"/>
   </filter>
 
   <filter-mapping filter-name="resin-profiler" url-pattern="*">
     <dispatcher>REQUEST</dispatcher>
   </filter-mapping>


Initialization Parameter "use-query":

If true, use the query portion of the url to distinguish requests, default is false


View results


Profiling Results for /webapp
NameAverage TimeTotal TimeInvocation Count
/foo.jsp
1.7491.7491
/resin-profiler
 0.0000

XML format

The output of the profiler can be returned in XML format using the query string "?format=xml".

Sort order

By default, the entries are sorted descending by Total Time. To change the sort order to Invocation Count, just add the query string "?sort=count".

Profiling sub-requests

Sub-request profiling adds profiling information for pages that are sub-requests of the top level request, typically with <jsp:include>, <jsp:forward>, or the equivalent mechanisms for Servlets.

It imposes a bit more overhead and may be suitable for production servers.

 <web-app ...>
 
   <filter filter-name="resin-profiler"
           filter-class="com.caucho.tools.profiler.ProfilerFilter">
     <init use-query="false"/>
   </filter>
 
   <filter-mapping filter-name="resin-profiler" url-pattern="*">
     <dispatcher>REQUEST</dispatcher>
     <dispatcher>FORWARD</dispatcher>
     <dispatcher>INCLUDE</dispatcher>
     <dispatcher>ERROR</dispatcher>
   </filter-mapping>

View results


Profiling Results for /webapp
NameAverage TimeTotal TimeInvocation Count
/foo.jsp
1.7491.7491
  →/baz.jsp
0.8630.8631
  →/bar.jsp
0.5750.5751
    →/bung.jsp
0.0600.0601
/resin-profiler
 0.0000

JMX

The Profiler instantiates a JMX bean with type `Profiler'.

Personal tools