Profiler
From Resin 3.0
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
- Make a request, for example http://localhost:8080/webapp/foo.jsp
- View results http://localhost:8080/webapp/resin-profiler
Name | Average Time | Total Time | Invocation Count | ||
---|---|---|---|---|---|
| 1.749 | 1.749 | 1 | ||
| 0.000 | 0 |
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
- Make a request, for example http://localhost:8080/webapp/foo.jsp
- View results http://localhost:8080/webapp/resin-profiler
Name | Average Time | Total Time | Invocation Count | ||
---|---|---|---|---|---|
| 1.749 | 1.749 | 1 | ||
| 0.863 | 0.863 | 1 | ||
| 0.575 | 0.575 | 1 | ||
| 0.060 | 0.060 | 1 | ||
| 0.000 | 0 |
JMX
The Profiler instantiates a JMX bean with type `Profiler'.