You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by ea...@apache.org on 2008/02/21 21:12:49 UTC
svn commit: r629966 - in
/incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq:
JmsInputChannel.java JmsOutputChannel.java
Author: eae
Date: Thu Feb 21 12:12:49 2008
New Revision: 629966
URL: http://svn.apache.org/viewvc?rev=629966&view=rev
Log:
UIMA-785 tests work after patch; commit Jerry's patches
Modified:
incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java
incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsOutputChannel.java
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java?rev=629966&r1=629965&r2=629966&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsInputChannel.java Thu Feb 21 12:12:49 2008
@@ -460,6 +460,8 @@
{
if ( isProcessRequest(aMessage) )
{
+ // Compute the time between waiting for this request and update
+ // this service performance stats.
idleTime = computeIdleTime();
}
Modified: incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsOutputChannel.java
URL: http://svn.apache.org/viewvc/incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsOutputChannel.java?rev=629966&r1=629965&r2=629966&view=diff
==============================================================================
--- incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsOutputChannel.java (original)
+++ incubator/uima/sandbox/trunk/uima-as/uimaj-as-activemq/src/main/java/org/apache/uima/adapter/jms/activemq/JmsOutputChannel.java Thu Feb 21 12:12:49 2008
@@ -52,6 +52,7 @@
import org.apache.uima.aae.error.ErrorContext;
import org.apache.uima.aae.error.ServiceShutdownException;
import org.apache.uima.aae.error.UimaEEServiceException;
+import org.apache.uima.aae.jmx.ServicePerformance;
import org.apache.uima.aae.message.AsynchAEMessage;
import org.apache.uima.aae.message.UIMAMessage;
import org.apache.uima.aae.monitor.Monitor;
@@ -62,6 +63,8 @@
import org.apache.uima.resource.metadata.ProcessingResourceMetaData;
import org.apache.uima.util.Level;
+import com.sun.org.apache.xml.internal.security.encryption.AgreementMethod;
+
public class JmsOutputChannel implements OutputChannel
{
@@ -495,6 +498,7 @@
{
long t1 = System.nanoTime();
String serializedCAS = getSerializedCasAndReleaseIt(false, aCasReferenceId,anEndpoint, anEndpoint.isRetryEnabled());
+/*
if ( analysisEngineController instanceof AggregateAnalysisEngineController )
{
String delegateKey
@@ -503,15 +507,15 @@
if ( delegateKey != null)
{
long timeToSerialize = System.nanoTime() - t1;
- ((AggregateAnalysisEngineController)analysisEngineController).
- incrementCasSerializationTime(delegateKey, timeToSerialize);
+// ((AggregateAnalysisEngineController)analysisEngineController).
+// incrementCasSerializationTime(delegateKey, timeToSerialize);
analysisEngineController.
getServicePerformance().
incrementCasSerializationTime(timeToSerialize);
}
}
-
+*/
if ( UIMAFramework.getLogger().isLoggable(Level.FINEST) )
{
UIMAFramework.getLogger(CLASS_NAME).logrb(Level.FINEST, CLASS_NAME.getName(),
@@ -658,16 +662,7 @@
tm.setIntProperty(AsynchAEMessage.Payload, AsynchAEMessage.None);
populateHeaderWithResponseContext(tm, anEndpoint, aCommand);
- if ( aCommand == AsynchAEMessage.CollectionProcessComplete)
- {
- Map controllerStats = getAnalysisEngineController().getStats();
- if ( controllerStats != null)
- {
- tm.setObjectProperty("Stats", controllerStats);
- }
-
- }
- endpointConnection.send(tm, true); //false);
+ endpointConnection.send(tm, true);
addIdleTime(tm);
UIMAFramework.getLogger(CLASS_NAME).logrb(Level.FINE, CLASS_NAME.getName(),
"sendReply", JmsConstants.JMS_LOG_RESOURCE_BUNDLE, "UIMAJMS_cpc_reply_sent__FINE",
@@ -916,7 +911,7 @@
String serializedCAS = null;
// Using Cas reference Id retrieve CAS from the shared Cash
cas = getAnalysisEngineController().getInProcessCache().getCasByReference(aCasReferenceId);
-
+ ServicePerformance casStats = getAnalysisEngineController().getCasStatistics(aCasReferenceId);
if ( cas == null )
{
serializedCAS = getAnalysisEngineController().getInProcessCache().getSerializedCAS( aCasReferenceId );
@@ -932,7 +927,11 @@
serializer = "xmi";
}
serializedCAS = serializeCAS(isReply, cas, aCasReferenceId, serializer);
- entry.incrementTimeToSerializeCAS(System.nanoTime()-t1);
+ long timeToSerializeCas = System.nanoTime()-t1;
+ entry.incrementTimeToSerializeCAS(timeToSerializeCas);
+ casStats.incrementCasSerializationTime(timeToSerializeCas);
+ getAnalysisEngineController().getServicePerformance().
+ incrementCasSerializationTime(timeToSerializeCas);
if ( cacheSerializedCas )
{
getAnalysisEngineController().getInProcessCache().saveSerializedCAS(aCasReferenceId, serializedCAS);
@@ -1027,11 +1026,14 @@
}
else
{
- CacheEntry entry = getAnalysisEngineController().getInProcessCache().getCacheEntryForCAS(aCasReferenceId);
- aTextMessage.setLongProperty(AsynchAEMessage.TimeToSerializeCAS, entry.getTimeToSerializeCAS());
- aTextMessage.setLongProperty(AsynchAEMessage.TimeWaitingForCAS, entry.getTimeWaitingForCAS());
- aTextMessage.setLongProperty(AsynchAEMessage.TimeToDeserializeCAS, entry.getTimeToDeserializeCAS());
- aTextMessage.setLongProperty(AsynchAEMessage.TimeInProcessCAS, entry.getTimeToProcessCAS() );
+
+ ServicePerformance casStats =
+ getAnalysisEngineController().getCasStatistics(aCasReferenceId);
+
+ aTextMessage.setLongProperty(AsynchAEMessage.TimeToSerializeCAS, casStats.getRawCasSerializationTime());
+// aTextMessage.setLongProperty(AsynchAEMessage.TimeWaitingForCAS, entry.getTimeWaitingForCAS());
+ aTextMessage.setLongProperty(AsynchAEMessage.TimeToDeserializeCAS, casStats.getRawCasDeserializationTime());
+ aTextMessage.setLongProperty(AsynchAEMessage.TimeInProcessCAS, casStats.getRawAnalysisTime());
aTextMessage.setLongProperty(AsynchAEMessage.IdleTime, anEndpoint.getIdleTime() );
String lookupKey = getAnalysisEngineController().getName();//getInProcessCache().getMessageAccessorByReference(aCasReferenceId).getEndpointName();
@@ -1040,36 +1042,6 @@
UIMAFramework.getLogger(CLASS_NAME).logrb(Level.FINEST, CLASS_NAME.getName(),
"populateStats", JmsConstants.JMS_LOG_RESOURCE_BUNDLE, "UIMAJMS_timein_service__FINEST",
new Object[] { serviceInputEndpoint, (double)timeInService/(double)1000000 });
-// aTextMessage.setLongProperty(AsynchAEMessage.TimeInService, timeInService );
-/*
- TimerStats timerStats = new TimerStats();
- timerStats.put(AsynchAEMessage.TimeToSerializeCAS, entry.getTimeToSerializeCAS());
- timerStats.put(AsynchAEMessage.TimeWaitingForCAS, entry.getTimeWaitingForCAS());
- timerStats.put(AsynchAEMessage.TimeToDeserializeCAS, entry.getTimeToDeserializeCAS());
- timerStats.put(AsynchAEMessage.TimeInService, timeInService);
- if ( getAnalysisEngineController() instanceof PrimitiveAnalysisEngineController )
- {
- aTextMessage.setObjectProperty(AsynchAEMessage.DelegateStats, timerStats);
- }
- else
- {
-
- DelegateStats delegateStats = entry.getStat();
- if ( delegateStats != null )
- {
- Iterator it = delegateStats.keySet().iterator();
- while( it.hasNext())
- {
- String key = (String) it.next();
-// System.out.println("DelegateStats KEY:::::::::::::::::::::::::::::"+key+ " Value Object::"+ delegateStats.get(key).getClass().getName());
- }
- }
- else
- {
- // System.out.println(">>>>>>>>>>>>>>>>>>Delegate Stats Not in Cache");
- }
- }
-*/
}
}
}
@@ -1433,6 +1405,8 @@
tm.setStringProperty(AsynchAEMessage.InputCasReference, anInputCasReferenceId);
tm.setLongProperty(AsynchAEMessage.CasSequence, sequence);
// Override MessageType set in the populateHeaderWithContext above.
+ // Add stats
+ populateStats(tm, anEndpoint, aNewCasReferenceId, AsynchAEMessage.Process, isRequest);
// Make the reply message look like a request. This message will contain a new CAS
// produced by the CAS Multiplier. The client will treat this CAS