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: [email protected]
For additional commands, e-mail: [email protected]