Author: indika
Date: Wed Feb  7 04:11:57 2007
New Revision: 504520

URL: http://svn.apache.org/viewvc?view=rev&rev=504520
Log:
add Statistics collecting to Main Sequence 

Modified:
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java
    
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/SequenceStatisticsStack.java

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java?view=diff&rev=504520&r1=504519&r2=504520
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2Sender.java
 Wed Feb  7 04:11:57 2007
@@ -146,7 +146,7 @@
                 //Process statistics
                 StatisticsUtils.processEndPointStatistics(smc);
                 StatisticsUtils.processProxyServiceStatistics(smc);
-                StatisticsUtils.processSequenceStatistics(smc);
+                StatisticsUtils.processAllSequenceStatistics(smc);
             }
             ae.send(messageContext);
 

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java?view=diff&rev=504520&r1=504519&r2=504520
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SynapseMediator.java
 Wed Feb  7 04:11:57 2007
@@ -23,6 +23,9 @@
 import org.apache.commons.logging.LogFactory;
 import org.apache.synapse.Constants;
 import org.apache.synapse.MessageContext;
+import org.apache.synapse.statistics.StatisticsStack;
+import org.apache.synapse.statistics.StatisticsUtils;
+import org.apache.synapse.statistics.impl.SequenceStatisticsStack;
 import org.apache.synapse.mediators.AbstractListMediator;
 
 /**
@@ -47,8 +50,19 @@
      */
     public boolean mediate(MessageContext synCtx) {
         log.debug("Synapse main mediator :: mediate()");
+        if(synCtx.isResponse()) {
+            StatisticsUtils.processAllSequenceStatistics(synCtx);
+        }
+        StatisticsStack sequenceStack = (StatisticsStack) 
synCtx.getProperty(Constants.SEQUENCE_STATISTICS_STACK);
+        if (sequenceStack == null) {
+            sequenceStack = new SequenceStatisticsStack();
+            synCtx.setCorrelationProperty(Constants.SEQUENCE_STATISTICS_STACK, 
sequenceStack);
+        }
+        String seqName = "MainSequence";
+        boolean isFault = synCtx.getEnvelope().getBody().hasFault();
+        sequenceStack.put(seqName, System.currentTimeMillis(), 
!synCtx.isResponse(), true, isFault);
         boolean shouldTrace = shouldTrace(synCtx.getTracingState());
-        try {
+         try {
             if (shouldTrace) {
                 trace.trace("Start : Synapse main mediator");
             }

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java?view=diff&rev=504520&r1=504519&r2=504520
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/builtin/DropMediator.java
 Wed Feb  7 04:11:57 2007
@@ -46,7 +46,7 @@
         // and if this sequence is a IN or OUT sequence of a proxy service
         StatisticsUtils.processProxyServiceStatistics(synCtx);
         //If this a sequence is not  a IN or OUT sequence of a proxy service
-        StatisticsUtils.processSequenceStatistics(synCtx);
+        StatisticsUtils.processAllSequenceStatistics(synCtx);
         boolean shouldTrace = shouldTrace(synCtx.getTracingState());
         if (shouldTrace) {
             trace.trace("Start : Drop mediator");

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java?view=diff&rev=504520&r1=504519&r2=504520
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsUtils.java
 Wed Feb  7 04:11:57 2007
@@ -76,6 +76,19 @@
         }
     }
 
+     /**
+     * To process all statistics related to the sequence
+     *
+     * @param synCtx
+     */
+    public static void processAllSequenceStatistics(MessageContext synCtx) {
+        StatisticsCollector statisticsCollector = 
getStatisticsCollector(synCtx);
+        boolean isFault = synCtx.getEnvelope().getBody().hasFault();
+        SequenceStatisticsStack sequenceStatisticsStack = 
(SequenceStatisticsStack) 
synCtx.getProperty(Constants.SEQUENCE_STATISTICS_STACK);
+        if (sequenceStatisticsStack != null) {
+            
sequenceStatisticsStack.reportAllToStatisticsCollector(statisticsCollector,isFault);
+        }
+    }
     /**
      * A helper method to get StatisticsCollector from the Synapse Message 
Context
      *

Modified: 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/SequenceStatisticsStack.java
URL: 
http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/SequenceStatisticsStack.java?view=diff&rev=504520&r1=504519&r2=504520
==============================================================================
--- 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/SequenceStatisticsStack.java
 (original)
+++ 
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/SequenceStatisticsStack.java
 Wed Feb  7 04:11:57 2007
@@ -55,7 +55,8 @@
      * @param isFault
      */
     public void reportAllToStatisticsCollector(StatisticsCollector 
statisticsCollector,boolean isFault) {
-        for (int i = sequenceStatisticsList.size(); i < 0; i--) {
+        int i = sequenceStatisticsList.size()-1;
+        for (; i >=0; i--) {
             popSequenceStatistics(i, statisticsCollector);
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to