You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/02/24 14:34:04 UTC
svn commit: r1732156 -
/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
Author: markt
Date: Wed Feb 24 13:34:03 2016
New Revision: 1732156
URL: http://svn.apache.org/viewvc?rev=1732156&view=rev
Log:
Deduplicate
Modified:
tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
Modified: tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java?rev=1732156&r1=1732155&r2=1732156&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java (original)
+++ tomcat/trunk/java/org/apache/catalina/session/ManagerBase.java Wed Feb 24 13:34:03 2016
@@ -1016,37 +1016,13 @@ public abstract class ManagerBase extend
*/
@Override
public int getSessionCreateRate() {
- long now = System.currentTimeMillis();
// Copy current stats
List<SessionTiming> copy = new ArrayList<>();
synchronized (sessionCreationTiming) {
copy.addAll(sessionCreationTiming);
}
- // Init
- long oldest = now;
- int counter = 0;
- int result = 0;
- Iterator<SessionTiming> iter = copy.iterator();
-
- // Calculate rate
- while (iter.hasNext()) {
- SessionTiming timing = iter.next();
- if (timing != null) {
- counter++;
- if (timing.getTimestamp() < oldest) {
- oldest = timing.getTimestamp();
- }
- }
- }
- if (counter > 0) {
- if (oldest < now) {
- result = (1000*60*counter)/(int) (now - oldest);
- } else {
- result = Integer.MAX_VALUE;
- }
- }
- return result;
+ return calculateRate(copy);
}
@@ -1060,18 +1036,23 @@ public abstract class ManagerBase extend
*/
@Override
public int getSessionExpireRate() {
- long now = System.currentTimeMillis();
// Copy current stats
List<SessionTiming> copy = new ArrayList<>();
synchronized (sessionExpirationTiming) {
copy.addAll(sessionExpirationTiming);
}
+ return calculateRate(copy);
+ }
+
+
+ private static int calculateRate(List<SessionTiming> sessionTiming) {
// Init
+ long now = System.currentTimeMillis();
long oldest = now;
int counter = 0;
int result = 0;
- Iterator<SessionTiming> iter = copy.iterator();
+ Iterator<SessionTiming> iter = sessionTiming.iterator();
// Calculate rate
while (iter.hasNext()) {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org