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-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>
>

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

Reply via email to