diff --git a/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java b/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java
index c2dbd7eb04ef937dcde37250e9844a185e1ab3e7..d1e835de1ccd66f1e067e2c44e28dcc229394d32 100644
--- a/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java
+++ b/src/main/java/net/floodlightcontroller/core/OFMessageFilterManager.java
@@ -563,7 +563,7 @@ public class OFMessageFilterManager implements IOFMessageListener {
         return sb.toString().getBytes();
     }
 
-    private String getStringFromEthernetPacket(Ethernet eth) {
+    public String getStringFromEthernetPacket(Ethernet eth) {
 
         StringBuffer sb = new StringBuffer("\n");
 
diff --git a/src/main/java/net/floodlightcontroller/core/internal/Controller.java b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
index c44b43503e4419437a33e06ef11eedd59123ac09..14e02f66df7ebb65fbc9889f0e0f5fa9481d1304 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/Controller.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
@@ -723,6 +723,8 @@ public class Controller
             throws IOException {
         Ethernet eth = null;
 
+        long startTime = System.nanoTime();
+
         switch (m.getType()) {
             case PACKET_IN:
                 OFPacketIn pi = (OFPacketIn)m;
@@ -785,8 +787,16 @@ public class Controller
                 } else {
                     log.error("Unhandled OF Message: {} from {}", m, sw);
                 }
-                break;
+
+                long processingTime = System.nanoTime() - startTime;
+                if (processingTime > (long)500000000) {  // processing takes more than half a second
+                    log.info("--**--**-- Time to process packet-in: {} ns", processingTime);
+                    if (eth!= null)
+                        log.info("{}", messageFilterManager.getStringFromEthernetPacket(eth));
+                    log.info("--**--**-- ");
+                }
         }
+
     }
     
     /**