You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by in...@apache.org on 2007/04/18 12:07:07 UTC
svn commit: r529944 - in
/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse:
./ config/xml/endpoints/ core/axis2/ endpoints/ mediators/base/ statistics/
statistics/impl/
Author: indika
Date: Wed Apr 18 03:07:01 2007
New Revision: 529944
URL: http://svn.apache.org/viewvc?view=rev&rev=529944
Log:
Improve statistics collecting for anonymous Sequence,Endpoints
Improve statistics capability for multiple endpoints
Modified:
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseModule.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.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/statistics/StatisticsCollector.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsHolder.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsStack.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/EndPointStatisticsStack.java
webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/ProxyServiceStatisticsStack.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/Constants.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/Constants.java Wed Apr 18 03:07:01 2007
@@ -203,4 +203,10 @@
/** Property name to store the last endpoint through which the message has flowed */
String PROCESSED_ENDPOINT = "processed_endpoint";
+ /** Anonymous Endpoint key */
+ String ANONYMOUS_ENDPOINTS = "AnonymousEndpoints";
+ /** Anonymous Sequence key */
+ String ANONYMOUS_SEQUENCES = "AnonymousSequences";
+ /** Anonymous ProxyServices key */
+ String ANONYMOUS_PROXYSERVICES = "AnonymousProxyServices";
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/AddressEndpointFactory.java Wed Apr 18 03:07:01 2007
@@ -129,14 +129,27 @@
org.apache.synapse.config.xml.Constants.NULL_NAMESPACE, "optimize"));
EndpointDefinition endpoint = new EndpointDefinition();
-
+ OMAttribute statistics = elem.getAttribute(
+ new QName(org.apache.synapse.config.xml.Constants.NULL_NAMESPACE,
+ org.apache.synapse.config.xml.Constants.STATISTICS_ATTRIB_NAME));
+ if (statistics != null) {
+ String statisticsValue = statistics.getAttributeValue();
+ if (statisticsValue != null) {
+ if (org.apache.synapse.config.xml.Constants.STATISTICS_ENABLE.equals(
+ statisticsValue)) {
+ endpoint.setStatisticsEnable(org.apache.synapse.Constants.STATISTICS_ON);
+ } else if (org.apache.synapse.config.xml.Constants.STATISTICS_DISABLE.equals(
+ statisticsValue)) {
+ endpoint.setStatisticsEnable(org.apache.synapse.Constants.STATISTICS_OFF);
+ }
+ }
+ }
if (address != null) {
endpoint.setAddress(address.getAttributeValue());
} else {
handleException("One of the 'address' or 'ref' attributes are required in an "
+ "anonymous endpoint");
}
-
if (format != null)
{
String forceValue = format.getAttributeValue().trim().toLowerCase();
@@ -171,7 +184,6 @@
}
}
}
-
OMElement wsSec = elem.getFirstChildWithName(new QName(
org.apache.synapse.config.xml.Constants.SYNAPSE_NAMESPACE, "enableSec"));
if (wsSec != null) {
@@ -192,7 +204,6 @@
endpoint.setWsRMPolicyKey(policy.getAttributeValue());
}
}
-
// set the timeout configuration
OMElement timeout = elem.getFirstChildWithName(new QName(
org.apache.synapse.config.xml.Constants.SYNAPSE_NAMESPACE, "timeout"));
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/config/xml/endpoints/WSDLEndpointFactory.java Wed Apr 18 03:07:01 2007
@@ -163,14 +163,26 @@
(new QName(org.apache.axis2.namespace.Constants.NS_URI_WSDL11, "description"));
if (endpoint == null && descriptionElement != null) {
wsdlEndpoint.setWsdlDoc(descriptionElement);
-
handleException("WSDL 2.0 Endpoints are currently not supported.");
}
-
if (endpoint != null) {
// for now, QOS information has to be provided explicitly.
extractQOSInformation(endpoint, wsdlElement);
-
+ OMAttribute statistics = epConfig.getAttribute(
+ new QName(org.apache.synapse.config.xml.Constants.NULL_NAMESPACE,
+ org.apache.synapse.config.xml.Constants.STATISTICS_ATTRIB_NAME));
+ if (statistics != null) {
+ String statisticsValue = statistics.getAttributeValue();
+ if (statisticsValue != null) {
+ if (org.apache.synapse.config.xml.Constants.STATISTICS_ENABLE.equals(
+ statisticsValue)) {
+ endpoint.setStatisticsEnable(org.apache.synapse.Constants.STATISTICS_ON);
+ } else if (org.apache.synapse.config.xml.Constants.STATISTICS_DISABLE.equals(
+ statisticsValue)) {
+ endpoint.setStatisticsEnable(org.apache.synapse.Constants.STATISTICS_OFF);
+ }
+ }
+ }
wsdlEndpoint.setEndpointDefinition(endpoint);
} else {
handleException("WSDL is not specified for WSDL endpoint.");
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseCallbackReceiver.java Wed Apr 18 03:07:01 2007
@@ -91,8 +91,8 @@
*
* @param response the Axis2 MessageContext that has been received and has to be handled
* @param synapseOutMsgCtx the corresponding (outgoing) Synapse MessageContext for the above
- * Axis2 MC, that holds Synapse specific information such as the error handler stack and
- * local properties etc.
+ * Axis2 MC, that holds Synapse specific information such as the error
+ * handler stack and local properties etc.
*/
private void handleMessage(MessageContext response,
org.apache.synapse.MessageContext synapseOutMsgCtx) {
@@ -104,13 +104,11 @@
Stack faultStack = synapseOutMsgCtx.getFaultStack();
if (faultStack != null && !faultStack.isEmpty()) {
-
SOAPFault fault = response.getEnvelope().getBody().getFault();
Exception e = fault.getException();
if (e == null) {
e = new Exception(fault.toString());
}
-
// set an error code to the message context, so that error sequences can filter
// using that property to determine the cause of error
synapseOutMsgCtx.setProperty("error-code", Constants.SENDING_FAULT);
@@ -126,7 +124,6 @@
if (!faultStack.isEmpty() && faultStack.peek() instanceof Endpoint) {
faultStack.pop();
}
-
if (log.isDebugEnabled()) {
log.debug("Synapse received an asynchronous response message");
log.debug("Received To: " +
@@ -135,7 +132,6 @@
(response.getSoapAction() != null ? response.getSoapAction() : "null"));
log.debug("Body : \n" + response.getEnvelope());
}
-
MessageContext axisOutMsgCtx =
((Axis2MessageContext) synapseOutMsgCtx).getAxis2MessageContext();
@@ -203,7 +199,6 @@
for (int i = 0; i < relates.length; i++) {
RelatesTo current = relates[i];
boolean found = false;
-
for (int j = 0; j < newRelates.length && j < insertPos; j++) {
if (newRelates[j].equals(current) ||
newRelates[j].getValue().equals(current.getValue())) {
@@ -211,7 +206,6 @@
break;
}
}
-
if (!found) {
newRelates[insertPos++] = current;
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseMessageReceiver.java Wed Apr 18 03:07:01 2007
@@ -48,16 +48,19 @@
}
MessageContext synCtx = MessageContextCreatorForAxis2.getSynapseMessageContext(mc);
-
try {
- StatisticsStack synapseServiceStack = (StatisticsStack) synCtx.getProperty(org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK);
+ StatisticsStack synapseServiceStack =
+ (StatisticsStack) synCtx.getProperty(
+ org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK);
if (synapseServiceStack == null) {
synapseServiceStack = new ProxyServiceStatisticsStack();
- synCtx.setProperty(org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK, synapseServiceStack);
+ synCtx.setProperty(org.apache.synapse.Constants.SYNAPSESERVICE_STATISTICS_STACK,
+ synapseServiceStack);
}
String name = "SynapseService";
boolean isFault = synCtx.getEnvelope().getBody().hasFault();
- synapseServiceStack.put(name, System.currentTimeMillis(), !synCtx.isResponse(), true, isFault);
+ synapseServiceStack.put(name, System.currentTimeMillis(), !synCtx.isResponse(),
+ true, isFault);
// invoke synapse message mediation
synCtx.getEnvironment().injectMessage(synCtx);
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseModule.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseModule.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseModule.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/core/axis2/SynapseModule.java Wed Apr 18 03:07:01 2007
@@ -76,8 +76,7 @@
}
} catch (UnknownHostException e) {
log.warn("Unable to report hostname or IP address for tracing", e);
- }
-
+ }
// Initializing the SynapseEnvironment and SynapseConfiguration
log.info("Initializing the Synapse configuration ...");
SynapseConfiguration synCfg = initializeSynapse(configurationContext);
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/AddressEndpoint.java Wed Apr 18 03:07:01 2007
@@ -144,14 +144,28 @@
public void send(MessageContext synCtx) {
String endPointName = this.getName();
-
+ if(endPointName ==null) {
+ endPointName = Constants.ANONYMOUS_ENDPOINTS;
+ }
// Setting Required property to collect the End Point statistics
- boolean statisticsEnable = (org.apache.synapse.Constants.STATISTICS_ON == endpoint.getStatisticsEnable());
- if (endPointName != null && statisticsEnable) {
- EndPointStatisticsStack endPointStatisticsStack = new EndPointStatisticsStack();
- boolean isFault =synCtx.getEnvelope().getBody().hasFault();
- endPointStatisticsStack.put(endPointName, System.currentTimeMillis(), !synCtx.isResponse(), statisticsEnable,isFault);
- synCtx.setProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK, endPointStatisticsStack);
+ boolean statisticsEnable =
+ (org.apache.synapse.Constants.STATISTICS_ON == endpoint.getStatisticsEnable());
+ if (statisticsEnable) {
+ EndPointStatisticsStack endPointStatisticsStack = null;
+ Object statisticsStackObj =
+ synCtx.getProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK);
+ if (statisticsStackObj == null) {
+ endPointStatisticsStack = new EndPointStatisticsStack();
+ synCtx.setProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK,
+ endPointStatisticsStack);
+ } else if (statisticsStackObj instanceof EndPointStatisticsStack) {
+ endPointStatisticsStack = (EndPointStatisticsStack) statisticsStackObj;
+ }
+ if (endPointStatisticsStack != null) {
+ boolean isFault = synCtx.getEnvelope().getBody().hasFault();
+ endPointStatisticsStack.put(endPointName, System.currentTimeMillis(),
+ !synCtx.isResponse(), statisticsEnable, isFault);
+ }
}
if (endpoint.getAddress() != null) {
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/endpoints/WSDLEndpoint.java Wed Apr 18 03:07:01 2007
@@ -81,18 +81,31 @@
String eprAddress = null;
if (endpointDefinition.getAddress() != null) {
eprAddress = endpointDefinition.getAddress().toString();
-
String endPointName = this.getName();
-
+ if (endPointName == null) {
+ endPointName = Constants.ANONYMOUS_ENDPOINTS;
+ }
// Setting Required property to collect the End Point statistics
- boolean statisticsEnable = (org.apache.synapse.Constants.STATISTICS_ON == endpointDefinition.getStatisticsEnable());
- if (endPointName != null && statisticsEnable) {
- EndPointStatisticsStack endPointStatisticsStack = new EndPointStatisticsStack();
- boolean isFault =synCtx.getEnvelope().getBody().hasFault();
- endPointStatisticsStack.put(endPointName, System.currentTimeMillis(), !synCtx.isResponse(), statisticsEnable,isFault);
- synCtx.setProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK, endPointStatisticsStack);
+ boolean statisticsEnable =
+ (org.apache.synapse.Constants.STATISTICS_ON
+ == endpointDefinition.getStatisticsEnable());
+ if (statisticsEnable) {
+ EndPointStatisticsStack endPointStatisticsStack = null;
+ Object statisticsStackObj =
+ synCtx.getProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK);
+ if (statisticsStackObj == null) {
+ endPointStatisticsStack = new EndPointStatisticsStack();
+ synCtx.setProperty(org.apache.synapse.Constants.ENDPOINT_STATISTICS_STACK,
+ endPointStatisticsStack);
+ } else if (statisticsStackObj instanceof EndPointStatisticsStack) {
+ endPointStatisticsStack = (EndPointStatisticsStack) statisticsStackObj;
+ }
+ if (endPointStatisticsStack != null) {
+ boolean isFault = synCtx.getEnvelope().getBody().hasFault();
+ endPointStatisticsStack.put(endPointName, System.currentTimeMillis(),
+ !synCtx.isResponse(), statisticsEnable, isFault);
+ }
}
-
if (log.isDebugEnabled()) {
log.debug("Sending message to endpoint :: name = " +
endPointName + " resolved address = " + eprAddress);
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/mediators/base/SequenceMediator.java Wed Apr 18 03:07:01 2007
@@ -84,7 +84,7 @@
sequenceStack = new SequenceStatisticsStack();
synCtx.setProperty(Constants.SEQUENCE_STATISTICS_STACK, sequenceStack);
}
- String seqName = (name == null ? "anonymous" : name);
+ String seqName = (name == null ? Constants.ANONYMOUS_SEQUENCES : name);
boolean isFault =synCtx.getEnvelope().getBody().hasFault();
sequenceStack.put(seqName,System.currentTimeMillis(),
!synCtx.isResponse(), isStatisticsEnable,isFault);
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=529944&r1=529943&r2=529944
==============================================================================
--- 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 Apr 18 03:07:01 2007
@@ -53,7 +53,8 @@
if(synCtx.isResponse()) {
StatisticsUtils.processAllSequenceStatistics(synCtx);
}
- StatisticsStack sequenceStack = (StatisticsStack) synCtx.getProperty(Constants.SEQUENCE_STATISTICS_STACK);
+ StatisticsStack sequenceStack = (StatisticsStack) synCtx.getProperty(
+ Constants.SEQUENCE_STATISTICS_STACK);
if (sequenceStack == null) {
sequenceStack = new SequenceStatisticsStack();
synCtx.setProperty(Constants.SEQUENCE_STATISTICS_STACK, sequenceStack);
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsCollector.java Wed Apr 18 03:07:01 2007
@@ -46,8 +46,10 @@
* @param outTime - The processing end time
* @param isFault - A boolean value that indicate whether falut has occured or not
*/
- public void reportForEndPoint(String keyOfStatistic, boolean isResponse, long inTime, long outTime, boolean isFault) {
- StatisticsHolder statisticsHolder = (StatisticsHolder) endpointStatistics.get(keyOfStatistic);
+ public void reportForEndPoint(String keyOfStatistic, boolean isResponse, long inTime,
+ long outTime, boolean isFault) {
+ StatisticsHolder statisticsHolder =
+ (StatisticsHolder) endpointStatistics.get(keyOfStatistic);
if (statisticsHolder == null) {
statisticsHolder = new StatisticsHolder();
statisticsHolder.setKey(keyOfStatistic);
@@ -67,8 +69,10 @@
* @param outTime - The processing end time
* @param isFault - A boolean value that indicate whether falut has occured or not
*/
- public void reportForProxyService(String keyOfStatistic, boolean isResponse, long inTime, long outTime, boolean isFault) {
- StatisticsHolder statisticsHolder = (StatisticsHolder) proxyServicesStatistics.get(keyOfStatistic);
+ public void reportForProxyService(String keyOfStatistic, boolean isResponse, long inTime,
+ long outTime, boolean isFault) {
+ StatisticsHolder statisticsHolder =
+ (StatisticsHolder) proxyServicesStatistics.get(keyOfStatistic);
if (statisticsHolder == null) {
statisticsHolder = new StatisticsHolder();
statisticsHolder.setKey(keyOfStatistic);
@@ -87,8 +91,10 @@
* @param outTime - The processing end time
* @param isFault - A boolean value that indicate whether falut has occured or not
*/
- public void reportForSequence(String keyOfStatistic, boolean isResponse, long inTime, long outTime, boolean isFault) {
- StatisticsHolder statisticsHolder = (StatisticsHolder) sequenceStatistics.get(keyOfStatistic);
+ public void reportForSequence(String keyOfStatistic, boolean isResponse, long inTime,
+ long outTime, boolean isFault) {
+ StatisticsHolder statisticsHolder =
+ (StatisticsHolder) sequenceStatistics.get(keyOfStatistic);
if (statisticsHolder == null) {
statisticsHolder = new StatisticsHolder();
statisticsHolder.setKey(keyOfStatistic);
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsHolder.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsHolder.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsHolder.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsHolder.java Wed Apr 18 03:07:01 2007
@@ -44,7 +44,8 @@
* @param outTime - The processing end time
* @param isFault - A boolean value that indicate whether falut has occured or not
*/
- public synchronized void update(boolean isResponse, long inTime, long outTime, boolean isFault) {
+ public synchronized void update(boolean isResponse, long inTime, long outTime,
+ boolean isFault) {
if (isResponse) {
if (outFlowStatistics == null) {
outFlowStatistics = new Statistics();
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsStack.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsStack.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsStack.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/StatisticsStack.java Wed Apr 18 03:07:01 2007
@@ -34,20 +34,33 @@
* @param isStatisticsEnable
* @param isFault
*/
- public void put(String key,long initTime, boolean isInFlow, boolean isStatisticsEnable,boolean isFault);
+ public void put(String key,long initTime, boolean isInFlow, boolean isStatisticsEnable,
+ boolean isFault);
/**
* This method used to report the latest statistics to the StatisticsCollector
* @param statisticsCollector
* @param isFault
*/
- public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault);
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault);
+
+ /**
+ * Report the particular statistics to the StatisticsCollector
+ *
+ * @param statisticsCollector
+ * @param isFault
+ * @param name
+ */
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault, String name);
/**
* This method used to unreported all statistics to the StatisticsCollector
* @param statisticsCollector
* @param isFault
*/
- public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault);
+ public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault);
}
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=529944&r1=529943&r2=529944
==============================================================================
--- 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 Apr 18 03:07:01 2007
@@ -20,6 +20,7 @@
import org.apache.synapse.Constants;
import org.apache.synapse.MessageContext;
+import org.apache.synapse.endpoints.Endpoint;
import org.apache.synapse.core.SynapseEnvironment;
import org.apache.synapse.statistics.impl.SequenceStatisticsStack;
import org.apache.synapse.statistics.impl.EndPointStatisticsStack;
@@ -41,11 +42,13 @@
StatisticsCollector statisticsCollector = getStatisticsCollector(synCtx);
boolean isFault = synCtx.getEnvelope().getBody().hasFault();
- ProxyServiceStatisticsStack proxyServiceStatisticsStack = (ProxyServiceStatisticsStack) synCtx.getProperty(Constants.PROXYSERVICE_STATISTICS_STACK);
+ ProxyServiceStatisticsStack proxyServiceStatisticsStack = (ProxyServiceStatisticsStack)
+ synCtx.getProperty(Constants.PROXYSERVICE_STATISTICS_STACK);
if (proxyServiceStatisticsStack != null) {
proxyServiceStatisticsStack.reportToStatisticsCollector(statisticsCollector,isFault);
}
- ProxyServiceStatisticsStack synapseServiceStatisticsStack = (ProxyServiceStatisticsStack) synCtx.getProperty(Constants.SYNAPSESERVICE_STATISTICS_STACK);
+ ProxyServiceStatisticsStack synapseServiceStatisticsStack = (ProxyServiceStatisticsStack)
+ synCtx.getProperty(Constants.SYNAPSESERVICE_STATISTICS_STACK);
if (synapseServiceStatisticsStack != null) {
synapseServiceStatisticsStack.reportToStatisticsCollector(statisticsCollector,isFault);
}
@@ -59,9 +62,22 @@
public static void processEndPointStatistics(MessageContext synCtx) {
StatisticsCollector statisticsCollector = getStatisticsCollector(synCtx);
boolean isFault = synCtx.getEnvelope().getBody().hasFault();
- EndPointStatisticsStack endPointStatisticsStack = (EndPointStatisticsStack) synCtx.getProperty(Constants.ENDPOINT_STATISTICS_STACK);
+ EndPointStatisticsStack endPointStatisticsStack = (EndPointStatisticsStack)
+ synCtx.getProperty(Constants.ENDPOINT_STATISTICS_STACK);
if (endPointStatisticsStack != null) {
- endPointStatisticsStack.reportToStatisticsCollector(statisticsCollector,isFault);
+ Object endpointObj = synCtx.getProperty(Constants.PROCESSED_ENDPOINT);
+ if (endpointObj instanceof Endpoint) {
+ Endpoint endpoint = (Endpoint) endpointObj;
+ String name = endpoint.getName();
+ if (name == null) {
+ endPointStatisticsStack.reportToStatisticsCollector(
+ statisticsCollector, isFault);
+ } else {
+ endPointStatisticsStack.reportToStatisticsCollector(
+ statisticsCollector, isFault, name);
+ }
+ endPointStatisticsStack.reportAllToStatisticsCollector(statisticsCollector, true);
+ }
}
}
@@ -73,7 +89,8 @@
public static void processSequenceStatistics(MessageContext synCtx) {
StatisticsCollector statisticsCollector = getStatisticsCollector(synCtx);
boolean isFault = synCtx.getEnvelope().getBody().hasFault();
- SequenceStatisticsStack sequenceStatisticsStack = (SequenceStatisticsStack) synCtx.getProperty(Constants.SEQUENCE_STATISTICS_STACK);
+ SequenceStatisticsStack sequenceStatisticsStack = (SequenceStatisticsStack)
+ synCtx.getProperty(Constants.SEQUENCE_STATISTICS_STACK);
if (sequenceStatisticsStack != null) {
sequenceStatisticsStack.reportToStatisticsCollector(statisticsCollector,isFault);
}
@@ -87,7 +104,8 @@
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);
+ SequenceStatisticsStack sequenceStatisticsStack = (SequenceStatisticsStack)
+ synCtx.getProperty(Constants.SEQUENCE_STATISTICS_STACK);
if (sequenceStatisticsStack != null) {
sequenceStatisticsStack.reportAllToStatisticsCollector(statisticsCollector,isFault);
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/EndPointStatisticsStack.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/EndPointStatisticsStack.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/EndPointStatisticsStack.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/EndPointStatisticsStack.java Wed Apr 18 03:07:01 2007
@@ -20,24 +20,21 @@
import org.apache.synapse.statistics.StatisticsStack;
import org.apache.synapse.statistics.StatisticsCollector;
+import java.util.Iterator;
+import java.util.ArrayList;
/**
- * The data structure to hold statistics related to the end points
+ * The data structure to hold statistics related to the endpoints
*
*/
public class EndPointStatisticsStack implements StatisticsStack {
- /** The name of the endpoint */
- private String endPointName;
- /** The time which starts to collect statistics */
- private long initTime;
- /** To check whether IN message flow or not */
- private boolean isInFlow;
- /** To check whether statistics is enabled or not */
- private boolean isStatisticsEnable;
- /** To indicate whether this is fault or not*/
- private boolean isFault;
+ /** list of endpoint statistics */
+ private ArrayList endpointStatistics;
+ /** To decide whether the reporting of the in flow statistics have been completed*/
+ private boolean isCompleteInFlowStatisicsReport = false;
+
/**
* To put statistics
* @param key - The name of the End Point
@@ -46,12 +43,13 @@
* @param isStatisticsEnable
* @param isFault
*/
- public void put(String key, long initTime, boolean isInFlow, boolean isStatisticsEnable,boolean isFault) {
- this.endPointName = key;
- this.initTime = initTime;
- this.isInFlow = isInFlow;
- this.isStatisticsEnable = isStatisticsEnable;
- this.isFault = isFault;
+ public void put(String key, long initTime, boolean isInFlow, boolean isStatisticsEnable,
+ boolean isFault) {
+ if (endpointStatistics == null) {
+ endpointStatistics = new ArrayList();
+ }
+ endpointStatistics.add(
+ new EndPointStatistics(key, initTime, isInFlow, isStatisticsEnable, isFault));
}
/**
@@ -59,10 +57,66 @@
* @param statisticsCollector
* @param isFault
*/
- public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault) {
- if (isStatisticsEnable && endPointName!=null) {
- statisticsCollector.reportForEndPoint(endPointName, !isInFlow, initTime, System.currentTimeMillis(), isFault);
- endPointName =null;
+
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault) {
+ if (endpointStatistics != null && !endpointStatistics.isEmpty()) {
+ EndPointStatistics statistics =
+ (EndPointStatistics) endpointStatistics.get(
+ endpointStatistics.size() - 1);
+ if (statistics != null && statistics.isStatisticsEnable &&
+ statistics.endPointName != null) {
+ if (statistics.inTimeForInFlow != -1) {
+ long initTimeForOutFlow = System.currentTimeMillis();
+ statisticsCollector.reportForEndPoint(statistics.endPointName,
+ false, statistics.inTimeForInFlow,
+ initTimeForOutFlow, isFault);
+ statistics.inTimeForInFlow = -1;
+ statistics.inTimeForOutFlow = initTimeForOutFlow;
+ } else if (statistics.inTimeForOutFlow != -1 &&
+ isCompleteInFlowStatisicsReport) {
+ statisticsCollector.reportForEndPoint(statistics.endPointName,
+ true, statistics.inTimeForOutFlow,
+ System.currentTimeMillis(), isFault);
+ endpointStatistics.remove(statistics);
+ }
+ }
+ }
+ }
+
+ /**
+ * Report a particular statistics to the StatisticsCollector
+ * @param statisticsCollector
+ * @param isFault
+ * @param name
+ */
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault, String name) {
+ if (endpointStatistics != null && !endpointStatistics.isEmpty()) {
+ for (Iterator epIterator = endpointStatistics.iterator();
+ epIterator.hasNext();) {
+ Object statisticsObj = epIterator.next();
+ if (statisticsObj instanceof EndPointStatistics) {
+ EndPointStatistics statistics = (EndPointStatistics) statisticsObj;
+ if (statistics.isStatisticsEnable && statistics.endPointName != null &&
+ statistics.endPointName.equals(name)) {
+ if (statistics.inTimeForInFlow != -1) {
+ long initTimeForOutFlow = System.currentTimeMillis();
+ statisticsCollector.reportForEndPoint(statistics.endPointName,
+ false, statistics.inTimeForInFlow,
+ initTimeForOutFlow, isFault);
+ statistics.inTimeForInFlow = -1;
+ statistics.inTimeForOutFlow = initTimeForOutFlow;
+ } else if (statistics.inTimeForOutFlow != -1 &&
+ isCompleteInFlowStatisicsReport) {
+ statisticsCollector.reportForEndPoint(statistics.endPointName,
+ true, statistics.inTimeForOutFlow,
+ System.currentTimeMillis(), isFault);
+ endpointStatistics.remove(statistics);
+ }
+ }
+ }
+ }
}
}
@@ -70,7 +124,57 @@
* This method used to unreported all statistics to the StatisticsCollector
* @param statisticsCollector
*/
- public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault) {
- reportToStatisticsCollector(statisticsCollector,isFault);
+ public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault) {
+ if (endpointStatistics != null && !endpointStatistics.isEmpty()) {
+ for (Iterator epIterator = endpointStatistics.iterator();
+ epIterator.hasNext();) {
+ Object statisticsObj = epIterator.next();
+ if (statisticsObj instanceof EndPointStatistics) {
+ EndPointStatistics statistics = (EndPointStatistics) statisticsObj;
+ if (statistics.isStatisticsEnable && statistics.endPointName != null) {
+ if (statistics.inTimeForInFlow != -1) {
+ long initTimeForOutFlow = System.currentTimeMillis();
+ statisticsCollector.reportForEndPoint(statistics.endPointName,
+ false, statistics.inTimeForInFlow,
+ initTimeForOutFlow, isFault);
+ statistics.inTimeForInFlow = -1;
+ statistics.inTimeForOutFlow = initTimeForOutFlow;
+ } else if (statistics.inTimeForOutFlow != -1 &&
+ isCompleteInFlowStatisicsReport) {
+ statisticsCollector.reportForEndPoint(statistics.endPointName,
+ true, statistics.inTimeForOutFlow,
+ System.currentTimeMillis(), isFault);
+ endpointStatistics.remove(statistics);
+ }
+ }
+ }
+ }
+ }
+ isCompleteInFlowStatisicsReport = true;
+ }
+
+ class EndPointStatistics {
+
+ /** The name of the endpoint */
+ private String endPointName;
+ /** To check whether IN message flow or not */
+ private boolean isStatisticsEnable;
+ /** To indicate whether this is fault or not */
+ private boolean isFault;
+ /** The time which starts to collect statistics for IN flow */
+ private long inTimeForInFlow = -1;
+ /** The time which starts to collect statistics for OUT flow */
+ private long inTimeForOutFlow = -1;
+
+ public EndPointStatistics(String endPointName, long initTime, boolean inFlow,
+ boolean statisticsEnable, boolean fault) {
+ if (inFlow) {
+ this.endPointName = endPointName;
+ this.inTimeForInFlow = initTime;
+ isStatisticsEnable = statisticsEnable;
+ isFault = fault;
+ }
+ }
}
}
Modified: webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/ProxyServiceStatisticsStack.java
URL: http://svn.apache.org/viewvc/webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/ProxyServiceStatisticsStack.java?view=diff&rev=529944&r1=529943&r2=529944
==============================================================================
--- webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/ProxyServiceStatisticsStack.java (original)
+++ webservices/synapse/trunk/java/modules/core/src/main/java/org/apache/synapse/statistics/impl/ProxyServiceStatisticsStack.java Wed Apr 18 03:07:01 2007
@@ -20,6 +20,9 @@
import org.apache.synapse.statistics.StatisticsStack;
import org.apache.synapse.statistics.StatisticsCollector;
+import org.apache.synapse.SynapseException;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* The data structure to hold statistics related to the Proxy Services
@@ -28,6 +31,7 @@
public class ProxyServiceStatisticsStack implements StatisticsStack {
+ private static final Log log = LogFactory.getLog(ProxyServiceStatisticsStack.class);
/** The name of the proxy service*/
private String proxyServiceName;
/** To check whether statistics is enabled or not */
@@ -40,6 +44,7 @@
private boolean isINFault;
/** To indicate whether OUT Flow is fault or not*/
private boolean isOUTFault;
+
/**
* To put a statistics
* @param key - The Name of the proxy service
@@ -47,8 +52,8 @@
* @param isInFlow
* @param isStatisticsEnable
*/
- public void put(String key, long initTime, boolean isInFlow, boolean isStatisticsEnable,boolean isFault) {
-
+ public void put(String key, long initTime, boolean isInFlow, boolean isStatisticsEnable,
+ boolean isFault) {
if (isInFlow) {
this.proxyServiceName = key;
this.isStatisticsEnable = isStatisticsEnable;
@@ -61,25 +66,49 @@
* This method used to report the latest statistics to the StatisticsCollector
* @param statisticsCollector
*/
- public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault) {
-
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault) {
if (proxyServiceName != null && isStatisticsEnable && inTimeForInFlow != -1) {
inTimeForOutFlow = System.currentTimeMillis();
isOUTFault = isFault;
- statisticsCollector.reportForProxyService(proxyServiceName, false, inTimeForInFlow, inTimeForOutFlow, isINFault);
+ statisticsCollector.reportForProxyService(proxyServiceName, false,
+ inTimeForInFlow, inTimeForOutFlow, isINFault);
inTimeForInFlow = -1;
- } else if (inTimeForOutFlow != -1) {
- statisticsCollector.reportForProxyService(proxyServiceName, true, inTimeForOutFlow, System.currentTimeMillis(), isFault);
+ } else if (inTimeForOutFlow != -1) {
+ statisticsCollector.reportForProxyService(proxyServiceName, true,
+ inTimeForOutFlow, System.currentTimeMillis(), isFault);
inTimeForOutFlow = -1;
}
}
/**
+ * Report a particular statistics to the StatisticsReporter
+ *
+ * @param statisticsCollector
+ * @param isFault
+ * @param name
+ */
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault, String name) {
+ if (name != null && proxyServiceName != null && proxyServiceName.equals(name)) {
+ reportToStatisticsCollector(statisticsCollector, isFault);
+ } else {
+ handleException("Invalid ProxyService Name " + name + " expected " + proxyServiceName);
+ }
+ }
+
+ /**
* This method used to unreported all statistics to the StatisticsCollector
* @param statisticsCollector
* @param isFault
*/
- public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault) {
- reportToStatisticsCollector(statisticsCollector,isFault);
+ public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault) {
+ reportToStatisticsCollector(statisticsCollector, isFault);
+ }
+
+ private void handleException(String msg) {
+ log.error(msg);
+ throw new SynapseException(msg);
}
}
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=529944&r1=529943&r2=529944
==============================================================================
--- 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 Apr 18 03:07:01 2007
@@ -22,6 +22,7 @@
import org.apache.synapse.statistics.StatisticsCollector;
import java.util.ArrayList;
+import java.util.Iterator;
/**
* The data structure to hold statistics related to Sequences
@@ -35,34 +36,65 @@
/**
* To put a statistics
- * @param sequenceName - The name of the sequence
+ *
+ * @param sequenceName - The name of the sequence
* @param initTime
* @param isInFlow
* @param isStatisticsEnable
* @param isFault
*/
- public void put(String sequenceName, long initTime, boolean isInFlow, boolean isStatisticsEnable,boolean isFault) {
- sequenceStatisticsList.add(new SequenceStatistics(sequenceName, initTime, isInFlow, isStatisticsEnable,isFault));
+ public void put(String sequenceName, long initTime, boolean isInFlow,
+ boolean isStatisticsEnable, boolean isFault) {
+ sequenceStatisticsList.add(new SequenceStatistics(sequenceName, initTime,
+ isInFlow, isStatisticsEnable, isFault));
}
- /**
+
+ /**
* This method used to report the latest statistics to the StatisticsCollector
+ *
* @param statisticsCollector
* @param isFault
*/
- public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault) {
- int top = sequenceStatisticsList.size();
- if (top > 0) {
- popSequenceStatistics(sequenceStatisticsList.size() - 1, statisticsCollector);
- }
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault) {
+ int top = sequenceStatisticsList.size();
+ if (top > 0) {
+ popSequenceStatistics(sequenceStatisticsList.size() - 1, statisticsCollector);
+ }
}
+
+ public void reportToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault, String name) {
+ if (!sequenceStatisticsList.isEmpty()) {
+ for (Iterator seqIterator = sequenceStatisticsList.iterator();
+ seqIterator.hasNext();) {
+ SequenceStatistics sequenceStatistics =
+ (SequenceStatistics) seqIterator.next();
+ if (sequenceStatistics != null) {
+ if (sequenceStatistics.isStatisticsEnable &&
+ sequenceStatistics.sequenceName != null &&
+ sequenceStatistics.sequenceName.equals(name)
+ ) {
+ statisticsCollector.reportForSequence(sequenceStatistics.sequenceName,
+ !sequenceStatistics.isInFlow, sequenceStatistics.initTime,
+ System.currentTimeMillis(), sequenceStatistics.isFault);
+ }
+ sequenceStatisticsList.remove(sequenceStatistics);
+ }
+ }
+ }
+ }
+
/**
* This method used to unreported all statistics to the StatisticsCollector
+ *
* @param statisticsCollector
* @param isFault
*/
- public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,boolean isFault) {
- int i = sequenceStatisticsList.size()-1;
- for (; i >=0; i--) {
+ public void reportAllToStatisticsCollector(StatisticsCollector statisticsCollector,
+ boolean isFault) {
+ int i = sequenceStatisticsList.size() - 1;
+ for (; i >= 0; i--) {
popSequenceStatistics(i, statisticsCollector);
}
}
@@ -74,11 +106,14 @@
*/
private void popSequenceStatistics(int index, StatisticsCollector statisticsCollector) {
if (index >= 0) {
- SequenceStatistics sequenceStatistics = (SequenceStatistics) sequenceStatisticsList.get(index);
+ SequenceStatistics sequenceStatistics =
+ (SequenceStatistics) sequenceStatisticsList.get(index);
if (sequenceStatistics != null) {
- if (sequenceStatistics.isStatisticsEnable && sequenceStatistics.sequenceName != null)
- {
- statisticsCollector.reportForSequence(sequenceStatistics.sequenceName, !sequenceStatistics.isInFlow, sequenceStatistics.initTime, System.currentTimeMillis(), sequenceStatistics.isFault);
+ if (sequenceStatistics.isStatisticsEnable &&
+ sequenceStatistics.sequenceName != null) {
+ statisticsCollector.reportForSequence(sequenceStatistics.sequenceName,
+ !sequenceStatistics.isInFlow, sequenceStatistics.initTime,
+ System.currentTimeMillis(), sequenceStatistics.isFault);
}
sequenceStatisticsList.remove(index);
}
@@ -101,7 +136,8 @@
/** To indicate whether this is fault or not*/
private boolean isFault;
- public SequenceStatistics(String sequenceName, long initTime, boolean inFlow, boolean statisticsEnable,boolean isFault) {
+ public SequenceStatistics(String sequenceName, long initTime, boolean inFlow,
+ boolean statisticsEnable, boolean isFault) {
this.sequenceName = sequenceName;
this.initTime = initTime;
isInFlow = inFlow;
---------------------------------------------------------------------
To unsubscribe, e-mail: synapse-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: synapse-dev-help@ws.apache.org