Revision: 9500
Author: jean.deruelle
Date: Fri Jan 15 08:46:17 2010
Log: update issue 1031

number of sip application session and sip session creation per second added
http://code.google.com/p/mobicents/source/detail?r=9500

Modified:
/trunk/servers/sip-servlets/jopr-plugin-as-5/src/main/java/org/rhq/plugins/mobicents/servlet/sip/jboss5/ConvergedSipStandaloneComponent.java /trunk/servers/sip-servlets/jopr-plugin-as-5/src/main/resources/META-INF/rhq-plugin.xml /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/SipApplicationDispatcherImpl.java /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipManager.java /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipManagerDelegate.java /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipStandardManager.java /trunk/servers/sip-servlets/sip-servlets-impl/src/main/resources/org/mobicents/servlet/sip/core/session/mbeans-descriptors.xml /trunk/servers/sip-servlets/sip-servlets-jboss5/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheSipManager.java /trunk/servers/sip-servlets/sip-servlets-jboss5/src/main/java/org/mobicents/servlet/sip/startup/SipStandardContext.java /trunk/servers/sip-servlets/sip-servlets-tomcat-jboss4/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheSipManager.java /trunk/servers/sip-servlets/sip-servlets-tomcat-jboss4/src/main/java/org/mobicents/servlet/sip/startup/SipStandardContext.java

=======================================
--- /trunk/servers/sip-servlets/jopr-plugin-as-5/src/main/java/org/rhq/plugins/mobicents/servlet/sip/jboss5/ConvergedSipStandaloneComponent.java Tue May 12 07:56:09 2009 +++ /trunk/servers/sip-servlets/jopr-plugin-as-5/src/main/java/org/rhq/plugins/mobicents/servlet/sip/jboss5/ConvergedSipStandaloneComponent.java Fri Jan 15 08:46:17 2010
@@ -237,8 +237,12 @@
             eBean.refreshAttributes();
             EmsAttribute att = eBean.getAttribute(property);
             if (att != null) {
-                Integer i = (Integer) att.getValue();
-                ret = new Double(i);
+               if(att.getValue() instanceof Double) {
+                       ret = (Double) att.getValue();
+               } else {
+                       Integer i = (Integer) att.getValue();
+                       ret = new Double(i);
+               }
             }

         }
=======================================
--- /trunk/servers/sip-servlets/jopr-plugin-as-5/src/main/resources/META-INF/rhq-plugin.xml Wed Jan 13 08:43:55 2010 +++ /trunk/servers/sip-servlets/jopr-plugin-as-5/src/main/resources/META-INF/rhq-plugin.xml Fri Jan 15 08:46:17 2010
@@ -2271,6 +2271,10 @@
<metric property="SipSession.sipSessionCounter" displayName="Sip Sessions created" units="none" description="Number of sip sessions created for the sipapp"
                     measurementType="trendsup" />
+
+ <metric property="SipSession.numberOfSipSessionCreationPerSecond" displayName="Sip Sessions created per second" + units="none" description="Number of sip sessions created per second for the sipapp"
+                    measurementType="trendsup" />

<metric property="SipSession.expiredSipSessions" displayName="Expired Sip Sessions" units="none" description="Number of expired sip sessions for the sipapp"
@@ -2295,6 +2299,10 @@
<metric property="SipSession.sipApplicationSessionCounter" displayName="Sip Application Sessions created" units="none" description="Number of sip application sessions created for the sipapp"
                     measurementType="trendsup" />
+
+ <metric property="SipSession.numberOfSipApplicationSessionCreationPerSecond" displayName="Sip Application Sessions created per second" + units="none" description="Number of sip application sessions created per second for the sipapp"
+                    measurementType="trendsup" />

<metric property="SipSession.expiredSipApplicationSessions" displayName="Expired Sip Application Sessions" units="none" description="Number of expired Sip Application sessions for the sipapp"
@@ -2410,6 +2418,10 @@
units="none" description="Number of expired Http sessions for the sipapp"
                     measurementType="trendsup" />

+ <metric property="SipSession.numberOfSipSessionCreationPerSecond" displayName="Sip Sessions created per second" + units="none" description="Number of sip sessions created per second for the sipapp"
+                    measurementType="trendsup" />
+
<metric property="SipSession.rejectedSessions" displayName="Rejected Http Sessions" units="none" description="Number of Http sessions rejected for the sipapp"
                     measurementType="trendsup" />
@@ -2458,6 +2470,10 @@
units="none" description="Number of expired Sip Application sessions for the sipapp"
                     measurementType="trendsup" />

+ <metric property="SipSession.numberOfSipApplicationSessionCreationPerSecond" displayName="Sip Application Sessions created per second" + units="none" description="Number of sip application sessions created per second for the sipapp"
+                    measurementType="trendsup" />
+
<metric property="SipSession.rejectedSipApplicationSessions" displayName="Rejected Sip Application Sessions" units="none" description="Number of Sip Application sessions rejected for the sipapp"
                     measurementType="trendsup" />
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/SipApplicationDispatcherImpl.java Wed Jan 13 08:43:55 2010 +++ /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/SipApplicationDispatcherImpl.java Fri Jan 15 08:46:17 2010
@@ -141,6 +141,11 @@
                        }
                        analyzeQueueCongestionState();
                        analyzeMemory();
+                       if(gatherStatistics) {
+                               for (SipContext sipContext : 
applicationDeployed.values()) {
+                                       
sipContext.getSipManager().updateStats();
+                               }
+                       }
                        //TODO wait for JDK 6 new OperatingSystemMXBean
 //                     analyzeCPU();
                }
@@ -196,7 +201,9 @@
        private CongestionControlPolicy congestionControlPolicy;
        private int numberOfMessagesInQueue;
        private double percentageOfMemoryUsed;
+       private double backToNormalPercentageOfMemoryUsed;
        private int queueSize;
+       private int backToNormalQueueSize;
        //used for the congestion control mechanism
        private ScheduledThreadPoolExecutor congestionControlThreadPool = null;

=======================================
--- /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipManager.java Fri Nov 21 02:14:12 2008 +++ /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipManager.java Fri Jan 15 08:46:17 2010
@@ -282,4 +282,23 @@
    * @param expiredSessions Number of sessions that have expired
    */
public void setExpiredSipApplicationSessions(int expiredSipApplicationSessions);
-}
+
+  /**
+ * Gets the number of sip application sessions per seconds that have been created.
+   *
+ * @return number of sip application sessions per seconds that have been created.
+   */
+  public double getNumberOfSipApplicationSessionCreationPerSecond();
+
+  /**
+   * Gets the number of sip sessions per seconds that have been created.
+   *
+   * @return number of sip sessions per seconds that have been created.
+   */
+  public double getNumberOfSipSessionCreationPerSecond();
+
+  /**
+   * Update statistics
+   */
+  public void updateStats();
+}
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipManagerDelegate.java Fri Nov 20 04:24:28 2009 +++ /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipManagerDelegate.java Fri Jan 15 08:46:17 2010
@@ -116,7 +116,14 @@

     // Number of sip Application sessions created by this manager
     protected int sipApplicationSessionCounter=0;
-
+
+    protected int lastUpdatedSasCreationCounter = 0;
+    protected long lastSipApplicationSessionUpdatedTime = 0;
+    double lastAverageSasCreationPerSecond = 0.0;
+
+    protected int lastUpdatedSsCreationCounter = 0;
+    protected long lastSipSessionUpdatedTime = 0;
+    double lastAverageSsCreationPerSecond = 0.0;
        /**
         * @return the SipFactoryImpl
         */
@@ -664,4 +671,47 @@
                        int expiredSipApplicationSessions) {
                this.expiredSipApplicationSessions = 
expiredSipApplicationSessions;
        }
-}
+
+       public double getNumberOfSipApplicationSessionCreationPerSecond() {
+               return lastAverageSasCreationPerSecond;
+       }
+
+       public double getNumberOfSipSessionCreationPerSecond() {
+               return lastAverageSsCreationPerSecond;
+       }
+
+       public void updateStats() {
+               if(logger.isDebugEnabled()) {
+ logger.debug("updating sip manager " + container.getName() + " statistics");
+               }
+               long now = System.currentTimeMillis();
+               // Updating the number of Sip Application Session Creation Per 
Seconds
+ int elapsedNumberOfSasCreationCounter = sipApplicationSessionCounter - lastUpdatedSasCreationCounter;
+               if(elapsedNumberOfSasCreationCounter > 0) {
+ double elapsedSasCreationUpdatedTimeInSeconds = (now - lastSipApplicationSessionUpdatedTime) / 1000; + double elapsedAverageSasCreationPerSecond = elapsedNumberOfSasCreationCounter / elapsedSasCreationUpdatedTimeInSeconds; + lastAverageSasCreationPerSecond = (lastAverageSasCreationPerSecond + elapsedAverageSasCreationPerSecond) / 2;
+               }
+               lastUpdatedSasCreationCounter = sipApplicationSessionCounter;
+               lastSipApplicationSessionUpdatedTime = now;
+               if(logger.isDebugEnabled()) {
+ logger.debug("elapsedNumberOfSasCreationCounter "+ elapsedNumberOfSasCreationCounter); + logger.debug("lastUpdatedSasCreationCounter "+ lastUpdatedSasCreationCounter); + logger.debug("lastSipApplicationSessionUpdatedTime "+ lastSipApplicationSessionUpdatedTime);
+               }
+               // Updating the number of Sip Application Session Creation Per 
Seconds
+ int elapsedNumberOfSsCreationCounter = sipSessionCounter - lastUpdatedSsCreationCounter;
+               if(elapsedNumberOfSsCreationCounter > 0) {
+ double elapsedSsCreationUpdatedTimeInSeconds = (now - lastSipSessionUpdatedTime) / 1000; + double elapsedAverageSsCreationPerSecond = elapsedNumberOfSsCreationCounter / elapsedSsCreationUpdatedTimeInSeconds; + lastAverageSsCreationPerSecond = (lastAverageSsCreationPerSecond + elapsedAverageSsCreationPerSecond) / 2;
+               }
+               lastUpdatedSsCreationCounter = sipSessionCounter;
+               lastSipSessionUpdatedTime = now;
+               if(logger.isDebugEnabled()) {
+ logger.debug("elapsedNumberOfSsCreationCounter "+ elapsedNumberOfSsCreationCounter); + logger.debug("lastUpdatedSsCreationCounter "+ lastUpdatedSsCreationCounter);
+                       logger.debug("lastSipSessionUpdatedTime "+ 
lastSipSessionUpdatedTime);
+               }
+       }
+}
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipStandardManager.java Thu Nov 19 11:36:43 2009 +++ /trunk/servers/sip-servlets/sip-servlets-impl/src/main/java/org/mobicents/servlet/sip/core/session/SipStandardManager.java Fri Jan 15 08:46:17 2010
@@ -533,5 +533,17 @@
         }
         return sb.toString();
     }
+
+       public double getNumberOfSipApplicationSessionCreationPerSecond() {
+ return sipManagerDelegate.getNumberOfSipApplicationSessionCreationPerSecond();
+       }
+
+       public double getNumberOfSipSessionCreationPerSecond() {
+               return 
sipManagerDelegate.getNumberOfSipSessionCreationPerSecond();
+       }
+
+       public void updateStats() {
+               sipManagerDelegate.updateStats();
+       }

 }
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-impl/src/main/resources/org/mobicents/servlet/sip/core/session/mbeans-descriptors.xml Wed Oct 29 06:08:08 2008 +++ /trunk/servers/sip-servlets/sip-servlets-impl/src/main/resources/org/mobicents/servlet/sip/core/session/mbeans-descriptors.xml Fri Jan 15 08:46:17 2010
@@ -162,7 +162,15 @@

        <attribute   name="expiredSipApplicationSessions"
description="Number of sip application sessions that expired ( doesn't include explicit invalidations )"
-                 type="int" />
+                 type="int" />
+
+    <attribute   name="numberOfSipSessionCreationPerSecond"
+          description="Number of sip sessions created per second"
+                 type="double" />
+
+       <attribute   name="numberOfSipApplicationSessionCreationPerSecond"
+ description="Number of sip application sessions created per second"
+                 type="double" />

     <attribute   name="processingTime"
           description="Time spent doing housekeeping and expiration"
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-jboss5/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheSipManager.java Thu Jan 7 05:16:33 2010 +++ /trunk/servers/sip-servlets/sip-servlets-jboss5/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheSipManager.java Fri Jan 15 08:46:17 2010
@@ -4044,6 +4044,19 @@
this.sipManagerDelegate.setExpiredSipApplicationSessions(expiredSipApplicationSessions);
        }

+
+       public double getNumberOfSipApplicationSessionCreationPerSecond() {
+ return sipManagerDelegate.getNumberOfSipApplicationSessionCreationPerSecond();
+       }
+
+       public double getNumberOfSipSessionCreationPerSecond() {
+               return 
sipManagerDelegate.getNumberOfSipSessionCreationPerSecond();
+       }
+
+       public void updateStats() {
+               sipManagerDelegate.updateStats();
+       }
+
        /**
         * {...@inheritdoc}
         */
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-jboss5/src/main/java/org/mobicents/servlet/sip/startup/SipStandardContext.java Fri Jan 8 01:06:06 2010 +++ /trunk/servers/sip-servlets/sip-servlets-jboss5/src/main/java/org/mobicents/servlet/sip/startup/SipStandardContext.java Fri Jan 15 08:46:17 2010
@@ -1104,10 +1104,11 @@
                                                }
                                        } catch (ServletException e) {
logger.error("Cannot allocate the servlet "+ wrapper.getServletClass() +" for notifying the listener " +
-                                                               "that it has been 
initialized", e);
+                                                               " of the event 
" + event.getEventType(), e);
                                                ok = false;
                                        } catch (Throwable e) {
- logger.error("An error occured when initializing the servlet " + wrapper.getServletClass(), e); + logger.error("An error occured when notifying the servlet " + wrapper.getServletClass() +
+                                                               " of the event 
" + event.getEventType(), e);
                                                ok = false;
                                        }
                                        try {
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-tomcat-jboss4/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheSipManager.java Fri Nov 27 01:07:22 2009 +++ /trunk/servers/sip-servlets/sip-servlets-tomcat-jboss4/src/main/java/org/jboss/web/tomcat/service/session/JBossCacheSipManager.java Fri Jan 15 08:46:17 2010
@@ -3223,4 +3223,17 @@
                        int expiredSipApplicationSessions) {
this.sipManagerDelegate.setExpiredSipApplicationSessions(expiredSipApplicationSessions);
        }
-}
+
+
+       public double getNumberOfSipApplicationSessionCreationPerSecond() {
+ return sipManagerDelegate.getNumberOfSipApplicationSessionCreationPerSecond();
+       }
+
+       public double getNumberOfSipSessionCreationPerSecond() {
+               return 
sipManagerDelegate.getNumberOfSipSessionCreationPerSecond();
+       }
+
+       public void updateStats() {
+               sipManagerDelegate.updateStats();
+       }
+}
=======================================
--- /trunk/servers/sip-servlets/sip-servlets-tomcat-jboss4/src/main/java/org/mobicents/servlet/sip/startup/SipStandardContext.java Thu Jan 7 05:16:33 2010 +++ /trunk/servers/sip-servlets/sip-servlets-tomcat-jboss4/src/main/java/org/mobicents/servlet/sip/startup/SipStandardContext.java Fri Jan 15 08:46:17 2010
@@ -1035,10 +1035,11 @@
                                                }
                                        } catch (ServletException e) {
logger.error("Cannot allocate the servlet "+ wrapper.getServletClass() +" for notifying the listener " +
-                                                               "that it has been 
initialized", e);
+                                                               " of the event 
" + event.getEventType(), e);
                                                ok = false;
                                        } catch (Throwable e) {
- logger.error("An error occured when initializing the servlet " + wrapper.getServletClass(), e); + logger.error("An error occured when notifying the servlet " + wrapper.getServletClass() +
+                                                               " of the event 
" + event.getEventType(), e);
                                                ok = false;
                                        }
                                        try {

Reply via email to