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