Here is what i've got so far. Simply copy/paste html betweeb the stars(*) to
see the CPU stats for my test case.
As evidence sugests, the mosts time was spent in
org.exolab.castor.mapping.Mapping.loadMapping(java.net.URL).
The most often was called
EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.get(java.lang.Object)
(What ever that class is?)
I've looked at the implementation of
org.exolab.castor.mapping.Mapping.loadMapping(java.net.URL) -- simple strait
forward stuff -- I'm really pusseled, what could be wrong there (anybody,
any ideas?)
Also, is it possible that the combination of jboss+jetty+castor does not
play well, i've seen some other complains on this mailing list about those
three together.
Help!!!!!!!!!
**********************************************************************
**********************************************************************
**********************************************************************
<html>
<head>
<title>New session CPU methods statistics for thread state
"Runnable"</title>
</head>
<body>
<h2>CPU methods statistics for thread state "Runnable"</h2>
<table border="0">
<tbody>
<tr>
<td><b>Session:</b></td>
<td>New session</td>
</tr>
<tr>
<td><b>Time of export:</b></td>
<td>Friday, September 20, 2002 8:24:49 PM EDT</td>
</tr>
<tr>
<td><b>JVM time:</b></td>
<td>29:47</td>
</tr>
</tbody>
</table>
<hr size="1">
<table border="1" cellpadding="3">
<tbody>
<tr>
<th>Method</th>
<th>Time</th>
<th>Invocations</th>
</tr>
<tr>
<td>org.exolab.castor.mapping.Mapping.loadMapping(java.net.URL)</td>
<td>207 s (42 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.JDO.getDatabase()</td>
<td>171 s (34 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.mortbay.util.ThreadPool$JobRunner.run()</td>
<td>68 s (13 %)</td>
<td align="right">0</td>
</tr>
<tr>
<td>com.forum.taglib.castor.JDOHelper.<init>()</td>
<td>10 s (2 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.exolab.castor.mapping.Mapping.<init>()</td>
<td>9740 ms (1 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.Database.getOQLQuery(java.lang.String)</td>
<td>9217 ms (1 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.Query.execute(short)</td>
<td>8031 ms (1 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.QueryResults.hasMore()</td>
<td>2847 ms (0 %)</td>
<td align="right">22</td>
</tr>
<tr>
<td>com.forum.taglib.castor.TransactionTag.doStartTag()</td>
<td>1361 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.get(java.lang.Object)</td>
<td>958 ms (0 %)</td>
<td align="right">36939</td>
</tr>
<tr>
<td>java.lang.ClassLoader.getResource(java.lang.String)</td>
<td>813 ms (0 %)</td>
<td align="right">3</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.hash(java.lang.Object)</td>
<td>387 ms (0 %)</td>
<td align="right">36939</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap.getTableForReading()</td>
<td>360 ms (0 %)</td>
<td align="right">36939</td>
</tr>
<tr>
<td>java.lang.Object.hashCode()</td>
<td>292 ms (0 %)</td>
<td align="right">36939</td>
</tr>
<tr>
<td>java.lang.Object.toString()</td>
<td>288 ms (0 %)</td>
<td align="right">35</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.QueryResults.close()</td>
<td>221 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>org.apache.log4j.Category.debug(java.lang.Object)</td>
<td>159 ms (0 %)</td>
<td align="right">129</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.Database.begin()</td>
<td>44 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>java.lang.StringBuffer.<init>(java.lang.String)</td>
<td>23 ms (0 %)</td>
<td align="right">75</td>
</tr>
<tr>
<td>java.lang.StringBuffer.append(java.lang.String)</td>
<td>23 ms (0 %)</td>
<td align="right">131</td>
</tr>
<tr>
<td>org.jboss.resource.connectionmanager.IdleRemover$1.run()</td>
<td>17 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>java.lang.StringBuffer.append(java.lang.Object)</td>
<td>14 ms (0 %)</td>
<td align="right">71</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.Query.bind(java.lang.Object)</td>
<td>10 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.Database.commit()</td>
<td>4 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.JDOHelper.execute(java.lang.String,
java.util.Collection)</td>
<td>2 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.doStartTag()</td>
<td>2 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>java.lang.StringBuffer.toString()</td>
<td>2 ms (0 %)</td>
<td align="right">118</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.FIFOSemaphore.<init>(long)</td>
<td>1 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>java.lang.StringBuffer.append(int)</td>
<td>1 ms (0 %)</td>
<td align="right">16</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.QueryResults.next()</td>
<td>1 ms (0 %)</td>
<td align="right">21</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.FIFOSemaphore$FIFOWaitQueue.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.FIFOSemaphore$FIFOWaitQueue.extract()</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore$WaitQueue.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore.<init>(EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore$WaitQueue,
long)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore.attempt(long)</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore.getSignallee()</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore.precheck()</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.QueuedSemaphore.release()</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>EDU.oswego.cs.dl.util.concurrent.Semaphore.<init>(long)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.common.ColorMap.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.common.ColorMap.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.common.ColorMap.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.common.ColorMap.getNextColor()</td>
<td>0 ms (0 %)</td>
<td align="right">11</td>
</tr>
<tr>
<td>com.forum.common.ColorMap.setColor(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">2</td>
</tr>
<tr>
<td>com.forum.jdo.TimeStampable.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.TimeStampable.jdoSetTimeStamp(long)</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Article.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Article.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.getDescription()</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.getId()</td>
<td>0 ms (0 %)</td>
<td align="right">21</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.getTitle()</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.setCreated(java.sql.Timestamp)</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.setDescription(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.setId(java.math.BigDecimal)</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.setTitle(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">7</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Forum.toString()</td>
<td>0 ms (0 %)</td>
<td align="right">28</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Topic.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.jdo.forum.Topic.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.JDOHelper.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.JDOHelper.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.JDOHelper.executeMany(java.lang.String,
java.util.Collection)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.JDOHelper.transactionBegin()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.JDOHelper.transactionEnd()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">2</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.doEndTag()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.doStartTag()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.getItems()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.getOql()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.getParams()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.setItems(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryManyTag.setOql(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.addParam(java.lang.Object)</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">2</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.doEndTag()</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.getItem()</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.getOql()</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.getParams()</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.setItem(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.setOql(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.QueryOneTag.setParam1(java.lang.Object)</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>com.forum.taglib.castor.TransactionTag.<clinit>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.TransactionTag.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.TransactionTag.class$(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.TransactionTag.doEndTag()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>com.forum.taglib.castor.TransactionTag.getHelper()</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>java.lang.Class.forName(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">10</td>
</tr>
<tr>
<td>java.lang.Class.getClassLoader()</td>
<td>0 ms (0 %)</td>
<td align="right">3</td>
</tr>
<tr>
<td>java.lang.Class.getName()</td>
<td>0 ms (0 %)</td>
<td align="right">14</td>
</tr>
<tr>
<td>java.lang.Object.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">11</td>
</tr>
<tr>
<td>java.lang.Object.getClass()</td>
<td>0 ms (0 %)</td>
<td align="right">17</td>
</tr>
<tr>
<td>java.lang.StringBuffer.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">43</td>
</tr>
<tr>
<td>java.lang.Thread.interrupted()</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>java.net.URL.toString()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>java.util.AbstractList.iterator()</td>
<td>0 ms (0 %)</td>
<td align="right">4</td>
</tr>
<tr>
<td>java.util.Collection.add(java.lang.Object)</td>
<td>0 ms (0 %)</td>
<td align="right">21</td>
</tr>
<tr>
<td>java.util.Collection.iterator()</td>
<td>0 ms (0 %)</td>
<td align="right">31</td>
</tr>
<tr>
<td>java.util.Collection.size()</td>
<td>0 ms (0 %)</td>
<td align="right">16</td>
</tr>
<tr>
<td>java.util.Iterator.hasNext()</td>
<td>0 ms (0 %)</td>
<td align="right">69</td>
</tr>
<tr>
<td>java.util.Iterator.next()</td>
<td>0 ms (0 %)</td>
<td align="right">35</td>
</tr>
<tr>
<td>java.util.Vector.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">17</td>
</tr>
<tr>
<td>java.util.Vector.add(java.lang.Object)</td>
<td>0 ms (0 %)</td>
<td align="right">2</td>
</tr>
<tr>
<td>javax.servlet.jsp.PageContext.setAttribute(java.lang.String,
java.lang.Object)</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>javax.servlet.jsp.tagext.TagSupport.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">16</td>
</tr>
<tr>
<td>javax.servlet.jsp.tagext.TagSupport.findAncestorWithClass(javax.servlet.jsp.tagext.Tag,
java.lang.Class)</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>org.apache.log4j.Category.isDebugEnabled()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.apache.log4j.Logger.getLogger(java.lang.Class)</td>
<td>0 ms (0 %)</td>
<td align="right">8</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.Database.close()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.JDO.<init>()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.JDO.setConfiguration(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.JDO.setDatabaseName(java.lang.String)</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
<tr>
<td>org.exolab.castor.jdo.Query.close()</td>
<td>0 ms (0 %)</td>
<td align="right">15</td>
</tr>
<tr>
<td>org.jboss.resource.connectionmanager.PoolFiller$1.run()</td>
<td>0 ms (0 %)</td>
<td align="right">1</td>
</tr>
</tbody>
</table>
<br>
</body>
</html>
**********************************************************************
**********************************************************************
**********************************************************************
>From: "Dmitry Amelchenko" <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Your personal evaluation key for JProfiler
>Date: Fri, 20 Sep 2002 11:48:28 -0400
>
>----- Forwarded by Dmitry Amelchenko/Boston/DBNA/DeuBa on 09/20/02 11:47
>AM -----
>
>
>[EMAIL PROTECTED]
>09/19/02 10:54 AM
>
>
> To: Dmitry Amelchenko/Boston/DBNA/DeuBa@DBNA
> cc:
> bcc:
> Subject: Your personal evaluation key for JProfiler
>
>
>Dear dmitry,
>
>Thanks for registering for an evaluation of JProfiler.
>Your personal evaluation key is
>
>E-DMITRY#19716-2002.09.29-10-18qb8ps
>
>With this key, you can evaluate JProfiler for 10 days
>starting today.
>
>Best wishes,
>
>The JProfiler team
>ej-technologies GmbH
>
>
>----
>If feel that you received this email in error, please contact
>[EMAIL PROTECTED]
>
_________________________________________________________________
Chat with friends online, try MSN Messenger: http://messenger.msn.com
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
unsubscribe castor-dev