You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by rj...@apache.org on 2011/01/31 21:45:32 UTC

svn commit: r1065767 - in /tomcat/sandbox/tomcat-oacc/trunk: docs/changelog.xml src/share/org/apache/catalina/cluster/session/DeltaManager.java

Author: rjung
Date: Mon Jan 31 20:45:31 2011
New Revision: 1065767

URL: http://svn.apache.org/viewvc?rev=1065767&view=rev
Log:
Add session creation / expiration rate statistics to the session managers.

Backport of r1036595 from trunk, resp. r1061433 from TC6.

Modified:
    tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml
    tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java

Modified: tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml
URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml?rev=1065767&r1=1065766&r2=1065767&view=diff
==============================================================================
--- tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml (original)
+++ tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml Mon Jan 31 20:45:31 2011
@@ -31,6 +31,10 @@
 <body>
 <section name="Tomcat OACC 0.1 (rjung)">
   <subsection name="Cluster">
+      <add>
+        Provide session creation and destruction rate metrics in the session
+        managers. (rjung)
+      </add>
       <fix>
         <bug>50600</bug>: Prevent a <code>ConcurrentModificationException</code>
         when removing a WAR file via the FarmWarDeployer. (rjung)

Modified: tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java?rev=1065767&r1=1065766&r2=1065767&view=diff
==============================================================================
--- tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java (original)
+++ tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java Mon Jan 31 20:45:31 2011
@@ -25,6 +25,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
+import java.lang.reflect.Method;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.Iterator;
@@ -43,6 +44,7 @@ import org.apache.catalina.cluster.Catal
 import org.apache.catalina.cluster.ClusterMessage;
 import org.apache.catalina.cluster.Member;
 import org.apache.catalina.cluster.tcp.ReplicationValve;
+import org.apache.catalina.session.ManagerBase;
 import org.apache.catalina.util.CustomObjectInputStream;
 import org.apache.catalina.util.LifecycleSupport;
 import org.apache.catalina.util.StringManager;
@@ -140,6 +142,7 @@ public class DeltaManager extends Cluste
     private boolean receiverQueue = false ;
     private boolean stateTimestampDrop = true ;
     private long stateTransferCreateSendTime; 
+    private boolean hasSessionCreateStatistics = false;
     
     // ------------------------------------------------------------------ stats attributes
     
@@ -168,6 +171,17 @@ public class DeltaManager extends Cluste
     // ------------------------------------------------------------- Constructor
     public DeltaManager() {
         super();
+        /* Check for TC 6.0.27+ API */
+        Class<?> clazz = super.getClass();
+        try {
+            Method method = clazz.getDeclaredMethod("getSessionCreateRate",
+                    new Class[] {});
+            hasSessionCreateStatistics = true;
+        } catch (NoSuchMethodException e) {
+             // IGNORE
+        } catch (SecurityException e) {
+             // IGNORE
+        }
     }
 
     // ------------------------------------------------------------- Properties
@@ -1377,6 +1391,18 @@ public class DeltaManager extends Cluste
     public synchronized void resetStatistics() {
         processingTime = 0 ;
         expiredSessions = 0 ;
+        if (hasSessionCreateStatistics) {
+            sessionCreationTiming.clear();
+            while (sessionCreationTiming.size() <
+                    ManagerBase.TIMING_STATS_CACHE_SIZE) {
+                sessionCreationTiming.add(null);
+            }
+            sessionExpirationTiming.clear();
+            while (sessionExpirationTiming.size() <
+                    ManagerBase.TIMING_STATS_CACHE_SIZE) {
+                sessionExpirationTiming.add(null);
+            }
+        }
         rejectedSessions = 0 ;
         sessionReplaceCounter = 0 ;
         counterNoStateTransfered = 0 ;



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1065767 - in /tomcat/sandbox/tomcat-oacc/trunk: docs/changelog.xml src/share/org/apache/catalina/cluster/session/DeltaManager.java

Posted by Rainer Jung <ra...@kippdata.de>.
On 01.02.2011 02:05, sebb wrote:
> On 31 January 2011 20:45,<rj...@apache.org>  wrote:
>> Author: rjung
>> Date: Mon Jan 31 20:45:31 2011
>> New Revision: 1065767
>>
>> URL: http://svn.apache.org/viewvc?rev=1065767&view=rev
>> Log:
>> Add session creation / expiration rate statistics to the session managers.
>>
>> Backport of r1036595 from trunk, resp. r1061433 from TC6.
>>
>> Modified:
>>     tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml
>>     tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
>>
>> Modified: tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
>> URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java?rev=1065767&r1=1065766&r2=1065767&view=diff
>> ==============================================================================
>> --- tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java (original)
>> +++ tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java Mon Jan 31 20:45:31 2011
>> @@ -140,6 +142,7 @@ public class DeltaManager extends Cluste
>>      private boolean receiverQueue = false ;
>>      private boolean stateTimestampDrop = true ;
>>      private long stateTransferCreateSendTime;
>> +    private boolean hasSessionCreateStatistics = false;
>
> Could/should be made final?

Done in r1065949. Thanks for the heads-up.

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Re: svn commit: r1065767 - in /tomcat/sandbox/tomcat-oacc/trunk: docs/changelog.xml src/share/org/apache/catalina/cluster/session/DeltaManager.java

Posted by sebb <se...@gmail.com>.
On 31 January 2011 20:45,  <rj...@apache.org> wrote:
> Author: rjung
> Date: Mon Jan 31 20:45:31 2011
> New Revision: 1065767
>
> URL: http://svn.apache.org/viewvc?rev=1065767&view=rev
> Log:
> Add session creation / expiration rate statistics to the session managers.
>
> Backport of r1036595 from trunk, resp. r1061433 from TC6.
>
> Modified:
>    tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml
>    tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
>
> Modified: tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml
> URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml?rev=1065767&r1=1065766&r2=1065767&view=diff
> ==============================================================================
> --- tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml (original)
> +++ tomcat/sandbox/tomcat-oacc/trunk/docs/changelog.xml Mon Jan 31 20:45:31 2011
> @@ -31,6 +31,10 @@
>  <body>
>  <section name="Tomcat OACC 0.1 (rjung)">
>   <subsection name="Cluster">
> +      <add>
> +        Provide session creation and destruction rate metrics in the session
> +        managers. (rjung)
> +      </add>
>       <fix>
>         <bug>50600</bug>: Prevent a <code>ConcurrentModificationException</code>
>         when removing a WAR file via the FarmWarDeployer. (rjung)
>
> Modified: tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java
> URL: http://svn.apache.org/viewvc/tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java?rev=1065767&r1=1065766&r2=1065767&view=diff
> ==============================================================================
> --- tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java (original)
> +++ tomcat/sandbox/tomcat-oacc/trunk/src/share/org/apache/catalina/cluster/session/DeltaManager.java Mon Jan 31 20:45:31 2011
> @@ -25,6 +25,7 @@ import java.io.ByteArrayOutputStream;
>  import java.io.IOException;
>  import java.io.ObjectInputStream;
>  import java.io.ObjectOutputStream;
> +import java.lang.reflect.Method;
>  import java.util.ArrayList;
>  import java.util.Date;
>  import java.util.Iterator;
> @@ -43,6 +44,7 @@ import org.apache.catalina.cluster.Catal
>  import org.apache.catalina.cluster.ClusterMessage;
>  import org.apache.catalina.cluster.Member;
>  import org.apache.catalina.cluster.tcp.ReplicationValve;
> +import org.apache.catalina.session.ManagerBase;
>  import org.apache.catalina.util.CustomObjectInputStream;
>  import org.apache.catalina.util.LifecycleSupport;
>  import org.apache.catalina.util.StringManager;
> @@ -140,6 +142,7 @@ public class DeltaManager extends Cluste
>     private boolean receiverQueue = false ;
>     private boolean stateTimestampDrop = true ;
>     private long stateTransferCreateSendTime;
> +    private boolean hasSessionCreateStatistics = false;

Could/should be made final?

>
>     // ------------------------------------------------------------------ stats attributes
>
> @@ -168,6 +171,17 @@ public class DeltaManager extends Cluste
>     // ------------------------------------------------------------- Constructor
>     public DeltaManager() {
>         super();
> +        /* Check for TC 6.0.27+ API */
> +        Class<?> clazz = super.getClass();
> +        try {
> +            Method method = clazz.getDeclaredMethod("getSessionCreateRate",
> +                    new Class[] {});
> +            hasSessionCreateStatistics = true;
> +        } catch (NoSuchMethodException e) {
> +             // IGNORE
> +        } catch (SecurityException e) {
> +             // IGNORE
> +        }
>     }
>
>     // ------------------------------------------------------------- Properties
> @@ -1377,6 +1391,18 @@ public class DeltaManager extends Cluste
>     public synchronized void resetStatistics() {
>         processingTime = 0 ;
>         expiredSessions = 0 ;
> +        if (hasSessionCreateStatistics) {
> +            sessionCreationTiming.clear();
> +            while (sessionCreationTiming.size() <
> +                    ManagerBase.TIMING_STATS_CACHE_SIZE) {
> +                sessionCreationTiming.add(null);
> +            }
> +            sessionExpirationTiming.clear();
> +            while (sessionExpirationTiming.size() <
> +                    ManagerBase.TIMING_STATS_CACHE_SIZE) {
> +                sessionExpirationTiming.add(null);
> +            }
> +        }
>         rejectedSessions = 0 ;
>         sessionReplaceCounter = 0 ;
>         counterNoStateTransfered = 0 ;
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: dev-help@tomcat.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org