Author: indika
Date: Mon Dec 14 09:38:26 2009
New Revision: 890247
URL: http://svn.apache.org/viewvc?rev=890247&view=rev
Log:
correct the fault stat couting - including synapse exceptions
add capability to count stat for sequences that invoke multiple times per
requests
correct the stat count when synapse send a t custom response to clien or do
make fault
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsLog.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsUpdateStrategy.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/PerUserViewStrategy.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/SystemViewStrategy.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/FaultHandler.java
Mon Dec 14 09:38:26 2009
@@ -21,6 +21,7 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.apache.synapse.aspects.statistics.StatisticsReporter;
import java.util.Stack;
import java.io.StringWriter;
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsLog.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsLog.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsLog.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsLog.java
Mon Dec 14 09:38:26 2009
@@ -31,16 +31,18 @@
private long time;
- private boolean isResponse;
+ private boolean isResponse = false;
- public StatisticsLog(String id, ComponentType componentType, boolean
isResponse) {
- this(id, System.currentTimeMillis(), componentType, isResponse);
+ private boolean isFault = false;
+
+ private boolean isEndAnyLog = false;
+
+ public StatisticsLog(String id, ComponentType componentType) {
+ this(id, System.currentTimeMillis(), componentType);
}
- public StatisticsLog(String id, long startTime, ComponentType
componentType,
- boolean isResponse) {
+ public StatisticsLog(String id, long startTime, ComponentType
componentType) {
this.id = id;
- this.isResponse = isResponse;
this.time = startTime;
this.componentType = componentType;
}
@@ -60,4 +62,24 @@
public boolean isResponse() {
return isResponse;
}
+
+ public boolean isFault() {
+ return isFault;
+ }
+
+ public void setFault(boolean fault) {
+ isFault = fault;
+ }
+
+ public void setResponse(boolean response) {
+ isResponse = response;
+ }
+
+ public void setEndAnyLog(boolean endAnyLog) {
+ isEndAnyLog = endAnyLog;
+ }
+
+ public boolean isEndAnyLog() {
+ return isEndAnyLog;
+ }
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsRecord.java
Mon Dec 14 09:38:26 2009
@@ -20,7 +20,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.synapse.Identifiable;
import org.apache.synapse.aspects.ComponentType;
import java.util.ArrayList;
@@ -35,10 +34,10 @@
private static final Log log = LogFactory.getLog(StatisticsRecord.class);
private String id;
private final List<StatisticsLog> statisticsLogs = new
ArrayList<StatisticsLog>();
- private boolean isFaultResponse;
private String clientIP;
private String clientHost;
private ComponentType owner;
+ private boolean isEndAnyReported = false;
public StatisticsRecord(String id, String clientIP, String clientHost) {
this.id = id;
@@ -50,10 +49,6 @@
return id;
}
- public boolean isFaultResponse() {
- return isFaultResponse;
- }
-
public String getClientIP() {
return clientIP;
}
@@ -62,26 +57,14 @@
return clientHost;
}
- public void setFaultResponse(boolean faultResponse) {
- isFaultResponse = faultResponse;
- }
-
/**
* Collecting statistics for a particular component
*
- * @param identifiable audit configurable component
- * @param componentType The component that belong statistics
- * @param isResponse Is this Response or not
+ * @param log StatisticsLog
*/
- public void collect(Identifiable identifiable, ComponentType
componentType, boolean isResponse) {
-
- if (isValid(identifiable)) {
-
- String auditID = identifiable.getId();
- if (log.isDebugEnabled()) {
- log.debug("Start to reportForComponent statistics for : " +
auditID);
- }
- statisticsLogs.add(new StatisticsLog(auditID, componentType,
isResponse));
+ public void collect(StatisticsLog log) {
+ if (log != null) {
+ statisticsLogs.add(log);
}
}
@@ -90,10 +73,10 @@
*
* @return A Iterator for all StatisticsLogs
*/
- public Iterator<StatisticsLog> getAllStatisticsLogs() {
+ public List<StatisticsLog> getAllStatisticsLogs() {
final List<StatisticsLog> logs = new ArrayList<StatisticsLog>();
logs.addAll(statisticsLogs);
- return logs.iterator();
+ return logs;
}
/**
@@ -115,13 +98,6 @@
return logIds.iterator();
}
- public String toString() {
- return new StringBuffer()
- .append("[Message id : ").append(id).append(" ]")
- .append("[Remote IP : ").append(clientIP).append(" ]")
- .append("[Remote host : ").append(clientHost).append(" ]")
- .toString();
- }
public void clearLogs() {
statisticsLogs.clear();
@@ -135,22 +111,19 @@
this.owner = owner;
}
- private boolean isValid(Identifiable identifiable) {
+ public boolean isEndAnyReported() {
+ return isEndAnyReported;
+ }
- if (identifiable == null) {
- if (log.isDebugEnabled()) {
- log.debug("Invalid aspects configuration , It is null.");
- }
- return false;
- }
+ public void setEndAnyReported(boolean endAnyReported) {
+ isEndAnyReported = endAnyReported;
+ }
- String auditID = identifiable.getId();
- if (auditID == null || "".equals(auditID)) {
- if (log.isDebugEnabled()) {
- log.debug("Invalid aspects configuration , Audit name is
null.");
- }
- return false;
- }
- return true;
+ public String toString() {
+ return new StringBuffer()
+ .append("[Message id : ").append(id).append(" ]")
+ .append("[Remote IP : ").append(clientIP).append(" ]")
+ .append("[Remote host : ").append(clientHost).append(" ]")
+ .toString();
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsReporter.java
Mon Dec 14 09:38:26 2009
@@ -18,6 +18,7 @@
*/
package org.apache.synapse.aspects.statistics;
+import org.apache.axiom.soap.SOAPEnvelope;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.Identifiable;
@@ -26,6 +27,7 @@
import org.apache.synapse.aspects.AspectConfiguration;
import org.apache.synapse.aspects.AspectConfigurationDetectionStrategy;
import org.apache.synapse.aspects.ComponentType;
+import org.apache.synapse.endpoints.EndpointDefinition;
/**
* A utility to report statistics
@@ -52,7 +54,6 @@
StatisticsRecord record =
StatisticsReporter.getStatisticsRecord(synCtx);
record.setOwner(componentType);
collectStatistics(synCtx, record, configurable, componentType);
-
}
}
@@ -61,7 +62,7 @@
*
* @param synCtx Current Message through synapse
*/
- public static void reportForAll(MessageContext synCtx) {
+ public static void reportForAllOnResponseReceived(MessageContext synCtx) {
AspectConfiguration configuration =
AspectConfigurationDetectionStrategy.getAspectConfiguration(synCtx);
@@ -85,13 +86,75 @@
if (log.isDebugEnabled()) {
log.debug("Reporting a fault : " + statisticsRecord);
}
- statisticsRecord.collect(
- new AspectConfiguration(SynapseConstants.SYNAPSE_ASPECTS),
- ComponentType.ANY, true);
- statisticsRecord.setFaultResponse(true);
+ StatisticsLog statisticsLog = new
StatisticsLog(SynapseConstants.SYNAPSE_ASPECTS,
+ ComponentType.ANY);
+ statisticsLog.setResponse(synCtx.isResponse() ||
synCtx.isFaultResponse());
+ statisticsLog.setFault(true);
+ statisticsRecord.collect(statisticsLog);
+ }
+ }
+
+ /**
+ * Reports statistics on the response message Sent
+ *
+ * @param synCtx MessageContext instance
+ * @param endpoint EndpointDefinition instance
+ */
+ public static void reportForAllOnResponseSent(MessageContext synCtx,
+ EndpointDefinition endpoint)
{
+ if (endpoint != null) {
+ if (synCtx.getProperty(SynapseConstants.OUT_ONLY) != null) {
+ endReportForAll(synCtx, endpoint.isStatisticsEnable());
+ }
+ } else {
+ endReportForAll(synCtx, false);
+ }
+ }
+
+ /**
+ * Ends statistics reporting for any component
+ *
+ * @param synCtx MessageContext instance
+ * @param isStatisticsEnable is stat enable
+ */
+ private static void endReportForAll(MessageContext synCtx, boolean
isStatisticsEnable) {
+
+ if (!isStatisticsEnable) {
+ AspectConfiguration configuration =
+
AspectConfigurationDetectionStrategy.getAspectConfiguration(synCtx);
+ isStatisticsEnable = configuration != null &&
configuration.isStatisticsEnable();
+ }
+ if (isStatisticsEnable) {
+ StatisticsRecord statisticsRecord =
StatisticsReporter.getStatisticsRecord(synCtx);
+ if (statisticsRecord != null &&
!statisticsRecord.isEndAnyReported()) {
+ StatisticsLog statisticsLog = new
StatisticsLog(SynapseConstants.SYNAPSE_ASPECTS,
+ ComponentType.ANY);
+ statisticsLog.setResponse(synCtx.isResponse() ||
synCtx.isFaultResponse());
+ statisticsLog.setFault(isFault(synCtx));
+ statisticsLog.setEndAnyLog(true);
+ statisticsRecord.collect(statisticsLog);
+ statisticsRecord.setEndAnyReported(true);
+ }
+ }
+ }
+
+ /**
+ * Ends statistics reporting after request processed
+ *
+ * @param synCtx MessageContext instance
+ */
+ public static void endReportForAllOnRequestProcessed(MessageContext
synCtx) {
+ if (synCtx.getProperty(SynapseConstants.LAST_ENDPOINT) == null &&
!synCtx.isResponse()) {
+ endReportForAll(synCtx, false);
}
}
+ /**
+ * Gets a StatisticsRecord
+ *
+ * @param synCtx MessageContext instance
+ * @return a StatisticsRecord
+ */
private static StatisticsRecord getStatisticsRecord(MessageContext synCtx)
{
StatisticsRecord statisticsRecord =
@@ -107,6 +170,14 @@
return statisticsRecord;
}
+ /**
+ * Collects statistics
+ *
+ * @param synCtx MessageContext instance
+ * @param record StatisticsRecord instance
+ * @param configurable StatisticsConfigurable instance
+ * @param componentType ComponentType instance
+ */
private static void collectStatistics(MessageContext synCtx,
StatisticsRecord record,
StatisticsConfigurable configurable,
@@ -122,11 +193,76 @@
synCtx.getEnvironment().setStatisticsCollector(collector);
}
- record.collect((Identifiable) configurable,
- componentType, synCtx.isResponse());
+ record.collect(createStatisticsLog((Identifiable) configurable,
componentType, synCtx));
if (!collector.contains(record)) {
collector.collect(record);
}
}
+
+ /**
+ * Factory method to create a StatisticsLog
+ *
+ * @param identifiable component
+ * @param componentType component type
+ * @param synCtx MessageContext instance
+ * @return a StatisticsLog
+ */
+ private static StatisticsLog createStatisticsLog(Identifiable identifiable,
+ ComponentType
componentType,
+ MessageContext synCtx) {
+ if (isValid(identifiable)) {
+ String auditID = identifiable.getId();
+ StatisticsLog statisticsLog = new StatisticsLog(auditID,
componentType);
+ statisticsLog.setResponse(synCtx.isResponse() ||
synCtx.isFaultResponse());
+ statisticsLog.setFault(isFault(synCtx));
+ return statisticsLog;
+ }
+ return null;
+ }
+
+ /**
+ * Checks the validity of the component
+ *
+ * @param identifiable component as a
+ * @return true if the component is valid
+ */
+ private static boolean isValid(Identifiable identifiable) {
+
+ if (identifiable == null) {
+ if (log.isDebugEnabled()) {
+ log.debug("Invalid aspects configuration , It is null.");
+ }
+ return false;
+ }
+
+ String auditID = identifiable.getId();
+ if (auditID == null || "".equals(auditID)) {
+ if (log.isDebugEnabled()) {
+ log.debug("Invalid aspects configuration , Audit name is
null.");
+ }
+ return false;
+ }
+ return true;
+ }
+
+ /**
+ * Detects a fault
+ *
+ * @param context MessageContext context
+ * @return true if this is a fault
+ */
+ private static boolean isFault(MessageContext context) {
+ boolean isFault = context.isFaultResponse();
+ if (!isFault) {
+ SOAPEnvelope envelope = context.getEnvelope();
+ if (envelope != null) {
+ isFault = envelope.hasFault();
+ }
+ if (!isFault) {
+ isFault = context.getProperty(SynapseConstants.ERROR_CODE) !=
null;
+ }
+ }
+ return isFault;
+ }
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsUpdateStrategy.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsUpdateStrategy.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsUpdateStrategy.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/StatisticsUpdateStrategy.java
Mon Dec 14 09:38:26 2009
@@ -19,9 +19,10 @@
package org.apache.synapse.aspects.statistics;
import org.apache.synapse.aspects.ComponentType;
+import org.apache.synapse.aspects.statistics.view.InOutStatisticsView;
import org.apache.synapse.aspects.statistics.view.Statistics;
-import java.util.Iterator;
+import java.util.List;
/**
* Updates the given statistics base on statistics logs in the given
statistics record.
@@ -35,75 +36,90 @@
this.statisticsRecord = statisticsRecord;
}
- public void updateInFlowStatistics(String id, ComponentType componentType,
- Statistics statistics) {
- updateStatistics(id, componentType, statistics, false);
- }
-
- public void updateOutFlowStatistics(String id, ComponentType componentType,
- Statistics statistics) {
- updateStatistics(id, componentType, statistics, true);
- }
-
- private void updateStatistics(String id, ComponentType componentType,
- Statistics statistics, boolean isResponse) {
+ public void updateStatistics(String id,
+ ComponentType componentType,
+ InOutStatisticsView statisticsView) {
StatisticsLog startLog = null;
StatisticsLog endLog = null;
- final Iterator<StatisticsLog> statisticsLogs =
statisticsRecord.getAllStatisticsLogs();
- while (statisticsLogs.hasNext()) {
- StatisticsLog log = statisticsLogs.next();
+ final List<StatisticsLog> statisticsLogs =
statisticsRecord.getAllStatisticsLogs();
+ for (StatisticsLog log : statisticsLogs) {
+
if (log == null) {
continue;
}
+
switch (componentType) {
case SEQUENCE: {
if (componentType == log.getComponentType()) {
- if (isResponse != log.isResponse()) {
- continue;
- }
if (!id.equals(log.getId())) {
continue;
}
if (startLog == null) {
startLog = log;
- } else if (startLog.isResponse() == log.isResponse()) {
+ } else {
endLog = log;
}
}
break;
}
default: {
- if (!isResponse) {
- if (componentType == log.getComponentType()) {
- if (!id.equals(log.getId())) {
- continue;
- }
- if (startLog == null) {
- startLog = log;
- }
- }
- if (startLog == null) {
+ if (componentType == log.getComponentType()) {
+ if (!id.equals(log.getId())) {
continue;
}
- if (log.getComponentType() == ComponentType.ANY &&
endLog == null) {
+ startLog = log;
+ } else if (log.getComponentType() == ComponentType.ANY) {
+ if (startLog != null) {
endLog = log;
}
- } else {
- if (log.getComponentType() == ComponentType.ANY) {
- if (startLog == null) {
- startLog = log;
- } else if (endLog == null) {
- endLog = log;
+ break;
+ }
+ }
+ }
+
+ if (endLog != null && startLog != null) {
+ Statistics statistics;
+ switch (componentType) {
+ case SEQUENCE: {
+ if (startLog.isResponse()) {
+ statistics = statisticsView.getOutStatistics();
+ } else {
+ statistics = statisticsView.getInStatistics();
+ }
+ statistics.update(endLog.getTime() -
startLog.getTime(), endLog.isFault());
+ break;
+ }
+ case ENDPOINT: {
+ statistics = statisticsView.getInStatistics();
+ statistics.update(endLog.getTime() -
startLog.getTime(), endLog.isFault());
+ break;
+ }
+ case PROXYSERVICE: {
+ Statistics inStatistics =
statisticsView.getInStatistics();
+ Statistics outStatistics =
statisticsView.getOutStatistics();
+ inStatistics.update(endLog.getTime() -
startLog.getTime(), endLog.isFault());
+ if (!endLog.isEndAnyLog()) {
+ StatisticsLog lastLog =
statisticsLogs.get(statisticsLogs.size() - 1);
+ if (lastLog != endLog) {
+ outStatistics.update(
+ lastLog.getTime() - endLog.getTime(),
lastLog.isFault());
}
}
+ return;
}
}
+ startLog = null;
+ endLog = null;
}
}
- if (endLog != null && startLog != null) {
- statistics.update(endLog.getTime() - startLog.getTime(),
- statisticsRecord.isFaultResponse());
+
+ if (startLog != null && componentType == ComponentType.PROXYSERVICE) {
+ Statistics inStatistics = statisticsView.getInStatistics();
+ StatisticsLog lastLog = statisticsLogs.get(statisticsLogs.size() -
1);
+ if (lastLog != startLog) {
+ inStatistics.update(lastLog.getTime() - startLog.getTime(),
lastLog.isFault());
+ }
}
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/PerUserViewStrategy.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/PerUserViewStrategy.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/PerUserViewStrategy.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/PerUserViewStrategy.java
Mon Dec 14 09:38:26 2009
@@ -161,12 +161,7 @@
private void updateStatistics(String id, ComponentType type,
InOutStatisticsView view,
StatisticsUpdateStrategy strategy) {
if (view != null) {
- strategy.updateInFlowStatistics(id, type,
- view.getInStatistics());
- if (type != ComponentType.ENDPOINT) {
- strategy.updateOutFlowStatistics(id, type,
- view.getOutStatistics());
- }
+ strategy.updateStatistics(id, type, view);
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/SystemViewStrategy.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/SystemViewStrategy.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/SystemViewStrategy.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/aspects/statistics/view/SystemViewStrategy.java
Mon Dec 14 09:38:26 2009
@@ -106,12 +106,7 @@
private void updateStatistics(String id, ComponentType type,
InOutStatisticsView view,
StatisticsUpdateStrategy strategy) {
if (view != null) {
- strategy.updateInFlowStatistics(id, type,
- view.getInStatistics());
- if (type != ComponentType.ENDPOINT) {
- strategy.updateOutFlowStatistics(id, type,
- view.getOutStatistics());
- }
+ strategy.updateStatistics(id, type, view);
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/Axis2SynapseEnvironment.java
Mon Dec 14 09:38:26 2009
@@ -169,15 +169,12 @@
public void send(EndpointDefinition endpoint, MessageContext synCtx) {
if (synCtx.isResponse()) {
- StatisticsReporter.reportForAll(synCtx);
-
if (endpoint != null) {
-
Axis2Sender.sendOn(endpoint, synCtx);
-
} else {
Axis2Sender.sendBack(synCtx);
}
+ StatisticsReporter.reportForAllOnResponseSent(synCtx, endpoint);
} else {
// If this request is related to session affinity endpoints - For
client initiated session
Dispatcher dispatcher =
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/ProxyServiceMessageReceiver.java
Mon Dec 14 09:38:26 2009
@@ -184,6 +184,8 @@
warn(traceOn, "Exception encountered but no fault handler
found - " +
"message dropped", synCtx);
}
+ } finally {
+ StatisticsReporter.endReportForAllOnRequestProcessed(synCtx);
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
Mon Dec 14 09:38:26 2009
@@ -332,7 +332,7 @@
dispatcher.updateSession(synapseInMessageContext);
}
- StatisticsReporter.reportForAll(synapseInMessageContext);
+
StatisticsReporter.reportForAllOnResponseReceived(synapseInMessageContext);
// send the response message through the synapse mediation flow
try {
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
Mon Dec 14 09:38:26 2009
@@ -48,7 +48,7 @@
StatisticsReporter.reportForComponent(synCtx,
AspectConfigurationDetectionStrategy.getAspectConfiguration(synCtx),
- ComponentType.SEQUENCE);
+ ComponentType.PROXYSERVICE);
boolean traceOn = synCtx.getMainSequence().getTraceState() ==
SynapseConstants.TRACING_ON;
boolean traceOrDebugOn = traceOn || log.isDebugEnabled();
@@ -95,6 +95,8 @@
warn(traceOn, "Exception encountered but no fault handler
found - " +
"message dropped", synCtx);
}
+ } finally {
+ StatisticsReporter.endReportForAllOnRequestProcessed(synCtx);
}
}
Modified:
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java
URL:
http://svn.apache.org/viewvc/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java?rev=890247&r1=890246&r2=890247&view=diff
==============================================================================
---
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java
(original)
+++
synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/MediatorFaultHandler.java
Mon Dec 14 09:38:26 2009
@@ -23,6 +23,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.synapse.*;
import org.apache.synapse.aspects.statistics.StatisticsReporter;
+import org.apache.synapse.aspects.ComponentType;
import org.apache.synapse.mediators.base.SequenceMediator;
/**
@@ -72,8 +73,6 @@
name = faultMediator.getClass().getName();
}
- StatisticsReporter.reportFaultForAll(synCtx);
-
if (traceOrDebugOn) {
traceOrDebugWarn(traceOn, "Executing fault handler mediator : " +
name);
}