Jump to: navigation, search

Difference between revisions of "Jetty/Howto/Use the Dump Feature"

< Jetty‎ | Howto
m
m
Line 4: Line 4:
 
The dump feature in Jetty provides a good snapshot of the status of the threadpool, select sets, classloaders, and so forth. To get maximum detail from the dump, you need to ''setDetailDump(true)'' on any QueuedThreadPools you are using. You can do this by a direct call if you are embedding Jetty, or with the following in jetty.xml:  
 
The dump feature in Jetty provides a good snapshot of the status of the threadpool, select sets, classloaders, and so forth. To get maximum detail from the dump, you need to ''setDetailDump(true)'' on any QueuedThreadPools you are using. You can do this by a direct call if you are embedding Jetty, or with the following in jetty.xml:  
  
<source lang="XML">
+
<source lang="xml">
 
<Configure id="Server" class="org.eclipse.jetty.server.Server">
 
<Configure id="Server" class="org.eclipse.jetty.server.Server">
          <!-- ==================================== -->
+
  <!-- ==================================== -->
          <!-- Server Thread Pool                                                                        -->  
+
  <!-- Server Thread Pool                                                                        -->  
          <!-- ==================================== -->
+
  <!-- ==================================== -->
          <Set name="ThreadPool">
+
  <Set name="ThreadPool">
              <!-- Default queued blocking threadpool -->
+
    <!-- Default queued blocking threadpool -->
              <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
+
    <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
                  <Set name="minThreads"&gt;10&lt;/Set>
+
      <Set name="minThreads">10</Set>
                  <Set name="maxThreads"&gt;200&lt;/Set>
+
      <Set name="maxThreads">200</Set>
                  <Set name="detailedDump"&gt;true&lt;/Set>
+
      <Set name="detailedDump">true</Set>
              </New>
+
    </New>
          </Set>
+
  </Set>
 
</source>
 
</source>
  
 
There are also two new methods on Server:  
 
There are also two new methods on Server:  
        <source lang="XML">
+
<source lang="xml">
        <Set name="dumpAfterStart"&gt;true&lt;/Set>
+
<Set name="dumpAfterStart">true</Set>
        <Set name="dumpBeforeStop"&gt;true&lt;/Set>
+
<Set name="dumpBeforeStop">true</Set>
        </source>
+
</source>
  
 
These methods cause a dump at startup (to verify structure) and at shutdown (to see the current state). With ''dumpBeforeStop(true)'', you can hit Ctrl-C at any time to see server status (for example, if it is in 100% or a strange pause).  
 
These methods cause a dump at startup (to verify structure) and at shutdown (to see the current state). With ''dumpBeforeStop(true)'', you can hit Ctrl-C at any time to see server status (for example, if it is in 100% or a strange pause).  
Line 31: Line 31:
 
If you are running embedded, set up Jetty JMX mbeans as follows:  
 
If you are running embedded, set up Jetty JMX mbeans as follows:  
  
 +
<source lang=java>
 
       // Setup JMX
 
       // Setup JMX
 
       MBeanContainer mbContainer=new
 
       MBeanContainer mbContainer=new
Line 38: Line 39:
 
       server.addBean(mbContainer);
 
       server.addBean(mbContainer);
 
       mbContainer.addBean(Log.getLog());
 
       mbContainer.addBean(Log.getLog());
 +
</source>
  
 
You can also configure JMX with:  
 
You can also configure JMX with:  
 
+
<source lang=java>
 
   java -jar start.jar OPTIONS=jmx --pre=etc/jetty-jmx.xml
 
   java -jar start.jar OPTIONS=jmx --pre=etc/jetty-jmx.xml
 +
</source>
  
 
A third option is to uncomment the same within start.ini (done by default in Jetty Hightide).  
 
A third option is to uncomment the same within start.ini (done by default in Jetty Hightide).  
  
Once you have JMX enabled, you can use jconsole or any other JMX client to see the jetty mbeans. In jconsole this is under the mbeans tab. You should see many mbeans under org.eclipse.jetty.* name spaces. Many mbeans (handlers, connectors, etc.) now have individual dump() methods; for example you can go to the mbean org.eclipse.jetty.util.thread:type=queuedthreadpool,id=0, call the dump() operation, and see stack traces of the idle threads in that threadpool.  
+
Once you enable JMX, you can use jconsole or any other JMX client to see the Jetty mbeans. In jconsole this is under the mbeans tab. You should see many mbeans under org.eclipse.jetty.* name spaces. Many mbeans (handlers, connectors, etc.) now have individual dump() methods; for example you can go to the mbean org.eclipse.jetty.util.thread:type=queuedthreadpool,id=0, call the dump() operation, and see stack traces of the idle threads in that threadpool.  
  
 
The Server mbean also has a dump() method, which dumps everything, plus a dumpStdErr() operation that dumps to stderr rather than replying to jconsole.  
 
The Server mbean also has a dump() method, which dumps everything, plus a dumpStdErr() operation that dumps to stderr rather than replying to jconsole.  

Revision as of 16:16, 9 February 2011



Introduction

The dump feature in Jetty provides a good snapshot of the status of the threadpool, select sets, classloaders, and so forth. To get maximum detail from the dump, you need to setDetailDump(true) on any QueuedThreadPools you are using. You can do this by a direct call if you are embedding Jetty, or with the following in jetty.xml:

<Configure id="Server" class="org.eclipse.jetty.server.Server">
  <!-- ==================================== -->
  <!-- Server Thread Pool                                                                         --> 
  <!-- ==================================== -->
  <Set name="ThreadPool">
     <!-- Default queued blocking threadpool -->
     <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">
       <Set name="minThreads">10</Set>
       <Set name="maxThreads">200</Set>
       <Set name="detailedDump">true</Set>
     </New>
  </Set>

There are also two new methods on Server:

<Set name="dumpAfterStart">true</Set>
<Set name="dumpBeforeStop">true</Set>

These methods cause a dump at startup (to verify structure) and at shutdown (to see the current state). With dumpBeforeStop(true), you can hit Ctrl-C at any time to see server status (for example, if it is in 100% or a strange pause).

To get a dump that is not so fatal, you can trigger a dump via JMX.

If you are running embedded, set up Jetty JMX mbeans as follows:

       // Setup JMX
      MBeanContainer mbContainer=new
MBeanContainer(ManagementFactory.
getPlatformMBeanServer()); 
      server.getContainer().addEventListener(mbContainer);
      server.addBean(mbContainer);
      mbContainer.addBean(Log.getLog());

You can also configure JMX with:

   java -jar start.jar OPTIONS=jmx --pre=etc/jetty-jmx.xml

A third option is to uncomment the same within start.ini (done by default in Jetty Hightide).

Once you enable JMX, you can use jconsole or any other JMX client to see the Jetty mbeans. In jconsole this is under the mbeans tab. You should see many mbeans under org.eclipse.jetty.* name spaces. Many mbeans (handlers, connectors, etc.) now have individual dump() methods; for example you can go to the mbean org.eclipse.jetty.util.thread:type=queuedthreadpool,id=0, call the dump() operation, and see stack traces of the idle threads in that threadpool.

The Server mbean also has a dump() method, which dumps everything, plus a dumpStdErr() operation that dumps to stderr rather than replying to jconsole.

This is a dump of jetty-hightide with two cometd clients running:


^Corg.eclipse.jetty.server.Server@4178460d STOPPING

+- org.eclipse.jetty.server.handler.HandlerCollection@16aeea66 STARTED
|   |   |   |
|   |   |   |
|   |   |   +-

org.eclipse.jetty.server.context.ManagedAttributes=org.cometd.bayeux,org.cometd.oort.Oort

|   |   |   |
|   |   |   +-

org.eclipse.jetty.lifecyleCallbackCollection=org.eclipse.jetty.plus.annotation.LifeCycleCallbackCollection@56f2c96c

|   |   |   +-

org.apache.catalina.jsp_classpath=/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/classes:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jsr250-api-1.0.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/cometd-java-oort-2.1.0.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/cometd-java-client-2.1.0.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jetty-continuation-7.3.0.v20110203.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jetty-io-7.3.0.v20110203.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/cometd-java-common-2.1.0.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jetty-util-7.3.0.v20110203.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/cometd-java-annotations-2.1.0.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/javax.inject-1.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/bayeux-api-2.1.0.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jetty-client-7.3.0.v20110203.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jetty-http-7.3.0.v20110203.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jetty-servlets-7.3.0.v20110203.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/cometd-java-server-2.1.0.jar:/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-/webapp/WEB-INF/lib/jetty-jmx-7.3.0.v20110203.jar

|   |   |   +-

org.eclipse.jetty.runAsCollection=org.eclipse.jetty.plus.annotation.RunAsCollection@5d85fe0c

|   |   |   +-

javax.servlet.context.tempdir=/tmp/jetty-0.0.0.0-8080-cometd.war-_cometd-any-

|   |   |   +-

org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern=.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$

|   |   |   +-

org.eclipse.jetty.injectionCollection=org.eclipse.jetty.plus.annotation.InjectionCollection@7e9f5cc

|   |   |   |
|   |   |   +- com.sun.jsp.tagFileJarUrlsCache={}
|   |   |   +- org.cometd.oort.Seti=org.cometd.oort.Seti@21453d72
|   |   |   +- org.cometd.oort.Oort=http://localhost:8080/cometd
|   |   |   +- com.sun.jsp.taglibraryCache={}
|   |   |   +- org.cometd.bayeux=org.cometd.server.BayeuxServerImpl@22e90943
|   |   +- o.e.j.s.h.ContextHandler{/javadoc,file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/javadoc/}

STARTED

|   |   |   +- null
|   |   |   |
|   |   |   +-

org.eclipse.jetty.server.handler.ResourceHandler@26dfe303 STARTED

|   |   |   |
|   |   |   |
|   |   |   |
|   |   |   +-

org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern=.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$

|   |   +- o.e.j.w.WebAppContext{/test,file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/},/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/webapps/test.war

STARTED

|   |       +- WebAppClassLoader=Test WebApp@466d1750
|   |       |   +-

file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/classes/

|   |       |   +-

file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-io-7.3.1-SNAPSHOT.jar

|   |       |   +-

file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-continuation-7.3.1-SNAPSHOT.jar

|   |       |   +-

file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-http-7.3.1-SNAPSHOT.jar

|   |       |   +-

file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-client-7.3.1-SNAPSHOT.jar

|   |       |   +-

file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-util-7.3.1-SNAPSHOT.jar

|   |       |   +-

file:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-servlets-7.3.1-SNAPSHOT.jar

|   |       |   |
|   |       |   +- startJarLoader@3934f69a
|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-xml-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/servlet-api-2.5.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-http-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-continuation-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-server-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-security-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-servlet-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-webapp-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-deploy-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-servlets-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-annotations-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/asm-3.1.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/asm-commons-3.1.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/asm-tree-3.1.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/geronimo-annotation_1.0_spec-1.1.1.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/javax.annotation_1.0.0.v20100513-0750.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/org.objectweb.asm_3.1.0.v200803061910.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jdbc/derby/derby-10.6.1.0.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jdbc/derby/derbytools-10.6.1.0.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-jmx-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/com.sun.el_1.0.0.v201004190952.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/ecj-3.6.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/javax.el_2.1.0.v201004190952.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/javax.servlet.jsp_2.1.0.v201004190952.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/javax.servlet.jsp.jstl_1.2.0.v201004190952.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/jetty-jsp-2.1-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/org.apache.jasper.glassfish_2.1.0.v201007080150.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/org.apache.taglibs.standard.glassfish_1.2.0.v201004190952.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/javax.transaction_1.1.1.v201004190952.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/atomikos-util-3.6.4.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-3.6.4.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-api-3.6.4.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-jdbc-3.6.4.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-jta-3.6.4.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-jndi-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-plus-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jndi/javax.activation_1.1.0.v201005080500.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jndi/javax.mail.glassfish_1.4.1.v201005082020.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/resources/

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-websocket-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-util-7.3.1-SNAPSHOT.jar

|   |       |       +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-io-7.3.1-SNAPSHOT.jar

|   |       |       |
|   |       |       +- sun.misc.Launcher$AppClassLoader@77cde100
|   |       |           +-

file:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/start.jar

|   |       |           |
|   |       |           +- sun.misc.Launcher$ExtClassLoader@6d6f0472
|   |       |
|   |       +- org.eclipse.jetty.server.session.SessionHandler@3003e926 STARTED
|   |       |   +-

org.eclipse.jetty.security.ConstraintSecurityHandler@7c83d8be STARTED

|   |       |       +-

org.eclipse.jetty.servlet.ServletHandler@366ef7ba STARTED

|   |       |       |   |
|   |       |       |   |
|   |       |       |   +- [/*]/[]==0=>TestFilter
|   |       |       |   +- [/*]/[]==0=>QoSFilter
|   |       |       |   +- [/dump/*]/[]==0=>MultiPart
|   |       |       |   +- [/dump/gzip/*]/[]==0=>GzipFilter
|   |       |       |   |
|   |       |       |   +- TestFilter==com.acme.TestFilter
|   |       |       |   |   +- remote=false
|   |       |       |   +- QoSFilter==org.eclipse.jetty.servlets.QoSFilter
|   |       |       |   |   +- managedAttr=true
|   |       |       |   |   +- maxRequests=20
|   |       |       |   +-

MultiPart==org.eclipse.jetty.servlets.MultiPartFilter

|   |       |       |   |   +- deleteFiles=true
|   |       |       |   +-

GzipFilter==org.eclipse.jetty.servlets.IncludableGzipFilter

|   |       |       |   |   +- bufferSize=8192
|   |       |       |   |   +- excludedAgents=MSIE 6.0
|   |       |       |   |   +-

userAgent=(?:Mozilla[^\(]*\(compatible;\s*+([^;]*);.*)|(?:.*?([^\s]+/[^\s]+).*)

|   |       |       |   |   +- uncheckedPrintWriter=true
|   |       |       |   |   +- minGzipSize=2048
|   |       |       |   |   +- cacheSize=1024
|   |       |       |   |
|   |       |       |   +- [/]=>default
|   |       |       |   +- [*.jsp, *.jspf, *.jspx, *.xsp, *.JSP,
  • .JSPF, *.JSPX, *.XSP]=>jsp
|   |       |       |   +- [/hello/*]=>Hello
|   |       |       |   +- [/dump/*, *.dump]=>Dump
|   |       |       |   +- [/session/*]=>Session
|   |       |       |   +- [/cookie/*]=>Cookie
|   |       |       |   +- [/dispatch/*]=>Dispatch
|   |       |       |   +- [/cgi-bin/*]=>CGI
|   |       |       |   +- [/chat/*]=>Chat
|   |       |       |   +- [/ws/*]=>WSChat
|   |       |       |   +- [/rewritten/*, /redirected/*]=>Rewrite
|   |       |       |   +- [/secureMode/*]=>SecureMode
|   |       |       |   +- [/javadoc/*]=>TransparentProxy
|   |       |       |   +- [*.more]=>Dump
|   |       |       |   |
|   |       |       |   +- default==org.eclipse.jetty.servlet.DefaultServlet
|   |       |       |   |   +- resourceCache=resourceCache
|   |       |       |   |   +- maxCacheSize=256000000
|   |       |       |   |   +- dirAllowed=true
|   |       |       |   |   +- gzip=true
|   |       |       |   |   +- maxCachedFileSize=200000000
|   |       |       |   |   +- redirectWelcome=false
|   |       |       |   |   +- acceptRanges=true
|   |       |       |   |   +- welcomeServlets=false
|   |       |       |   |   +- aliases=false
|   |       |       |   |   +- useFileMappedBuffer=true
|   |       |       |   |   +- maxCachedFiles=2048
|   |       |       |   +- jsp==org.apache.jasper.servlet.JspServlet
|   |       |       |   |   +- logVerbosityLevel=DEBUG
|   |       |       |   |   +- fork=false
|   |       |       |   |   +-

com.sun.appserv.jsp.classpath=/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-xml-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/servlet-api-2.5.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-http-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-continuation-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-server-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-security-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-servlet-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-webapp-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-deploy-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-servlets-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-annotations-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/asm-3.1.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/asm-commons-3.1.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/asm-tree-3.1.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/geronimo-annotation_1.0_spec-1.1.1.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/javax.annotation_1.0.0.v20100513-0750.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/annotations/org.objectweb.asm_3.1.0.v200803061910.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jdbc/derby/derby-10.6.1.0.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jdbc/derby/derbytools-10.6.1.0.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-jmx-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/com.sun.el_1.0.0.v201004190952.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/ecj-3.6.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/javax.el_2.1.0.v201004190952.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/javax.servlet.jsp_2.1.0.v201004190952.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/javax.servlet.jsp.jstl_1.2.0.v201004190952.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/jetty-jsp-2.1-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/org.apache.jasper.glassfish_2.1.0.v201007080150.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jsp/org.apache.taglibs.standard.glassfish_1.2.0.v201004190952.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/javax.transaction_1.1.1.v201004190952.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/atomikos-util-3.6.4.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-3.6.4.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-api-3.6.4.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-jdbc-3.6.4.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jta/atomikos/transactions-jta-3.6.4.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-jndi-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-plus-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jndi/javax.activation_1.1.0.v201005080500.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jndi/javax.mail.glassfish_1.4.1.v201005082020.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/resources:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-websocket-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-util-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/lib/jetty-io-7.3.1-SNAPSHOT.jar:/home/gregw/src/jetty-hightide-7/jetty-hightide/target/hightide/start.jar:/usr/lib/jni/libjava-access-bridge-jni.so.0.0.0:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/localedata.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/sunpkcs11.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/dnsns.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/gnome-java-bridge.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/pulse-java.jar:/usr/lib/jvm/java-6-openjdk/jre/lib/ext/sunjce_provider.jar

|   |       |       |   |   +- xpoweredBy=false
|   |       |       |   |   +-

scratchdir=/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/jsp

|   |       |       |   +- Hello==com.acme.HelloWorld
|   |       |       |   +- Dump==com.acme.Dump
|   |       |       |   |   +- servlet-override-example=a servlet value
|   |       |       |   +- Session==com.acme.SessionDump
|   |       |       |   +- Cookie==com.acme.CookieDump
|   |       |       |   +- Dispatch==com.acme.DispatchServlet
|   |       |       |   +- CGI==org.eclipse.jetty.servlets.CGI
|   |       |       |   +- Chat==com.acme.ChatServlet
|   |       |       |   +- WSChat==com.acme.WebSocketChatServlet
|   |       |       |   +- Rewrite==com.acme.RewriteServlet
|   |       |       |   +- SecureMode==com.acme.SecureModeServlet
|   |       |       |   +-

TransparentProxy==org.eclipse.jetty.servlets.ProxyServlet$Transparent

|   |       |       |       +-

ProxyTo=http://download.eclipse.org/jetty/stable-7/apidocs

|   |       |       |       +- HostHeader=download.eclipse.org
|   |       |       |       +- Prefix=/javadoc
|   |       |       |
|   |       |       |
|   |       |       +- [*, admin, user]
|   |       |       |
|   |       |       +- *.htm={null={RoleInfo,C[*, admin, user]}}
|   |       |       +- /dump/auth/ssl/*={null={RoleInfo[]}}
|   |       |       +- /dump/auth/noaccess/*={null={RoleInfo,F,C[]}}
|   |       |       +- /auth/*={null={RoleInfo,F,C[]}}
|   |       |       +- /dump/auth/admin/*={null={RoleInfo,C[admin]}}
|   |       |       +- /dump/auth/relax/*={HEAD={RoleInfo[]}, GET={RoleInfo[]}}
|   |       |       +- /dump/auth/*={null={RoleInfo,C[*, admin, user]}}
|   |       |       +- /={TRACE={RoleInfo,F,C[]}}
|   |       |       +- /auth/relax.txt={HEAD={RoleInfo[]}, GET={RoleInfo[]}}
|   |       |
|   |       |
|   |       +-

org.eclipse.jetty.server.context.ManagedAttributes=QoSFilter,TransparentProxy.Logger,TransparentProxy.ThreadPool,TransparentProxy.HttpClient

|   |       +- context-override-example=a context value
|   |       |
|   |       +-

org.eclipse.jetty.lifecyleCallbackCollection=org.eclipse.jetty.plus.annotation.LifeCycleCallbackCollection@48c5186e

|   |       +-

org.apache.catalina.jsp_classpath=/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/classes:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-io-7.3.1-SNAPSHOT.jar:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-continuation-7.3.1-SNAPSHOT.jar:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-http-7.3.1-SNAPSHOT.jar:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-client-7.3.1-SNAPSHOT.jar:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-util-7.3.1-SNAPSHOT.jar:/tmp/jetty-0.0.0.0-8080-test.war-_test-any-/webapp/WEB-INF/lib/jetty-servlets-7.3.1-SNAPSHOT.jar

|   |       +-

org.eclipse.jetty.runAsCollection=org.eclipse.jetty.plus.annotation.RunAsCollection@3c70315

|   |       +-

javax.servlet.context.tempdir=/tmp/jetty-0.0.0.0-8080-test.war-_test-any-

|   |       +-

org.eclipse.jetty.server.webapp.ContainerIncludeJarPattern=.*/jsp-api-[^/]*\.jar$|.*/jsp-[^/]*\.jar$

|   |       +-

org.eclipse.jetty.injectionCollection=org.eclipse.jetty.plus.annotation.InjectionCollection@7e9b59a2

|   |       |
|   |       +- com.sun.jsp.tagFileJarUrlsCache={}
|   |       +- TransparentProxy.ThreadPool=TransparentProxy{8<=6<=8/254,0}
|   |       +-

TransparentProxy.Logger=StdErrLog:org.eclipse.jetty.servlets.TransparentProxy:DEBUG=false

|   |       +- QoSFilter=org.eclipse.jetty.servlets.QoSFilter@3a32ea4
|   |       +- com.sun.jsp.taglibraryCache={}
|   |       +-

TransparentProxy.HttpClient=org.eclipse.jetty.client.HttpClient@6dc220eb

|   +- org.eclipse.jetty.server.handler.DefaultHandler@6833f0de STARTED
|
+- org.eclipse.jetty.jmx.MBeanContainer@4d3c7378
+- qtp1258351596{10<=7<=10/200,0}
|   +- 11 qtp1258351596-11 - Acceptor0

SelectChannelConnector@0.0.0.0:8080 RUNNABLE

|   |   +- sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
|   |   +- sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228)
|   |   +- sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83)
|   |   +- sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
|   |   +- sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
|   |   +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:473)
|   |   +- org.eclipse.jetty.io.nio.SelectorManager.doSelect(SelectorManager.java:225)
|   |   +- org.eclipse.jetty.server.nio.SelectChannelConnector.accept(SelectChannelConnector.java:87)
|   |   +- org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:831)
|   |   +- org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)
|   |   +- java.lang.Thread.run(Thread.java:636)
|   +- 12 qtp1258351596-12 TIMED_WAITING IDLE
|   +- 13 qtp1258351596-13 TIMED_WAITING IDLE
|   +- 14 qtp1258351596-14 RUNNABLE
|   |   +- sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
|   |   +- sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:163)
|   |   +- org.eclipse.jetty.server.nio.SelectChannelConnector$1.run(SelectChannelConnector.java:252)
|   |   +- org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)
|   |   +- java.lang.Thread.run(Thread.java:636)
|   +- 15 qtp1258351596-15 - Acceptor1

SelectChannelConnector@0.0.0.0:8080 RUNNABLE

|   |   +- sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
|   |   +- sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:228)
|   |   +- sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:83)
|   |   +- sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:87)
|   |   +- sun.nio.ch.SelectorImpl.select(SelectorImpl.java:98)
|   |   +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:473)
|   |   +- org.eclipse.jetty.io.nio.SelectorManager.doSelect(SelectorManager.java:225)
|   |   +- org.eclipse.jetty.server.nio.SelectChannelConnector.accept(SelectChannelConnector.java:87)
|   |   +- org.eclipse.jetty.server.AbstractConnector$Acceptor.run(AbstractConnector.java:831)
|   |   +- org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:528)
|   |   +- java.lang.Thread.run(Thread.java:636)
|   +- 16 qtp1258351596-16 TIMED_WAITING IDLE
|   +- 17 qtp1258351596-17 TIMED_WAITING IDLE
|   +- 18 qtp1258351596-18 TIMED_WAITING IDLE
|   +- 19 qtp1258351596-19 TIMED_WAITING IDLE
|   +- 20 qtp1258351596-20 TIMED_WAITING IDLE
+- org.eclipse.jetty.deploy.DeploymentManager@654df764
|   +- org.eclipse.jetty.deploy.providers.WebAppProvider@d3576a2
|   +- org.eclipse.jetty.deploy.providers.ContextProvider@5684ce7a
+- HashLoginService[Test Realm]
+- org.eclipse.jetty.plus.jaas.JAASLoginService@526d0040
+- org.eclipse.jetty.server.session.HashSessionIdManager@11c7865b
|
+- SelectChannelConnector@0.0.0.0:8080
  +- sun.nio.ch.ServerSocketChannelImpl[/0:0:0:0:0:0:0:0:8080]
  +- OPEN
  +- org.eclipse.jetty.server.nio.SelectChannelConnector$ConnectorSelectorManager@46ac97cc
      +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet@6d21f653 id=0
      |   +-

org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:473)

       |   +- sun.nio.ch.EPollSelectorImpl@5b14a306 keys=2
      |   +-

SCEP@1642107118java.nio.channels.SocketChannel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:50597][d=false,io=1,w=true,rb=false,wb=false] 1 1

       |   +-

SCEP@1534516756java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8080 remote=/0:0:0:0:0:0:0:1:39597][d=false,io=1,w=true,rb=false,wb=false] 1 1

       +- org.eclipse.jetty.io.nio.SelectorManager$SelectSet@27db0da1 id=1
          +-

org.eclipse.jetty.io.nio.SelectorManager$SelectSet.doSelect(SelectorManager.java:473)

           +- sun.nio.ch.EPollSelectorImpl@320b34b1 keys=1
          +-

SCEP@259984788java.nio.channels.SocketChannel[connected local=/127.0.0.1:8080 remote=/127.0.0.1:50598][d=true,io=1,w=true,rb=false,wb=false] 1 1 }}