Bug 1185 :of-flow: push-mpls-action different in config and operational data store
[openflowplugin.git] / openflowplugin / src / main / java / org / opendaylight / openflowplugin / openflow / md / queue / TicketFinisher.java
index 61d213b5c3874b50d215f66994a3482d4ade8af0..deeb4d938215527cbe9d30c9ccee40946d562e0d 100644 (file)
@@ -11,7 +11,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.ExecutionException;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -21,21 +20,21 @@ import org.slf4j.LoggerFactory;
  *
  */
 public class TicketFinisher<OUT> implements Runnable {
-    
+
     private static final Logger LOG = LoggerFactory
             .getLogger(TicketFinisher.class);
-    
+
     private final BlockingQueue<TicketResult<OUT>> queue;
     private final Map<Class<? extends OUT>, Collection<PopListener<OUT>>> popListenersMapping;
     private final RegisteredTypeExtractor<OUT> registeredOutTypeExtractor;
-    
+
     /**
      * @param queue
      * @param popListenersMapping
      * @param registeredOutTypeExtractor
      */
     public TicketFinisher(BlockingQueue<TicketResult<OUT>> queue,
-            Map<Class<? extends OUT>, Collection<PopListener<OUT>>> popListenersMapping, 
+            Map<Class<? extends OUT>, Collection<PopListener<OUT>>> popListenersMapping,
             RegisteredTypeExtractor<OUT> registeredOutTypeExtractor) {
         this.queue = queue;
         this.popListenersMapping = popListenersMapping;
@@ -49,10 +48,13 @@ public class TicketFinisher<OUT> implements Runnable {
             try {
                 //TODO:: handle shutdown of queue
                 TicketResult<OUT> result = queue.take();
+                long before = System.nanoTime();
+                LOG.debug("finishing ticket(before): {}, {} remain in queue, {} capacity remaining", System.identityHashCode(result),queue.size(), queue.remainingCapacity());
                 List<OUT> processedMessages = result.getResult().get();
-                LOG.debug("finishing ticket: {}", System.identityHashCode(result));
+                long after = System.nanoTime();
+                LOG.debug("finishing ticket(after): {}, {} remain in queue, {} capacity remaining, processingTime {} ns", System.identityHashCode(result),queue.size(), queue.remainingCapacity(),after-before);
                 for (OUT msg : processedMessages) {
-                    Class<? extends Object> registeredType = 
+                    Class<? extends Object> registeredType =
                             registeredOutTypeExtractor.extractRegisteredType(msg);
                     Collection<PopListener<OUT>> popListeners = popListenersMapping.get(registeredType);
                     if (popListeners == null) {