Add trace log to NotificationManager::ProcessMessages
[platform/core/uifw/dali-core.git] / dali / internal / event / common / notification-manager.cpp
index dad673f..828586a 100644 (file)
@@ -21,6 +21,8 @@
 // INTERNAL INCLUDES
 #include <dali/devel-api/common/owner-container.h>
 #include <dali/devel-api/threading/mutex.h>
+#include <dali/integration-api/debug.h>
+#include <dali/integration-api/trace.h>
 #include <dali/internal/common/message.h>
 #include <dali/internal/event/common/complete-notification-interface.h>
 #include <dali/internal/event/common/property-notification-impl.h>
@@ -34,6 +36,8 @@ namespace
 {
 typedef Dali::Vector<CompleteNotificationInterface*> InterfaceContainer;
 
+DALI_INIT_TRACE_FILTER(gTraceFilter, DALI_TRACE_PERFORMANCE_MARKER, false);
+
 /**
  * helper to move elements from one container to another
  * @param from where to move
@@ -164,22 +168,32 @@ void NotificationManager::ProcessMessages()
 
   MessageContainer::Iterator       iter = mImpl->eventMessageQueue.Begin();
   const MessageContainer::Iterator end  = mImpl->eventMessageQueue.End();
-  for(; iter != end; ++iter)
+  if(iter != end)
   {
-    (*iter)->Process(0u /*ignored*/);
+    DALI_TRACE_BEGIN(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE");
+    for(; iter != end; ++iter)
+    {
+      (*iter)->Process(0u /*ignored*/);
+    }
+    DALI_TRACE_END(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE");
   }
   // release the processed messages from event side queue
   mImpl->eventMessageQueue.Clear();
 
   InterfaceContainer::Iterator       iter2 = mImpl->eventInterfaceQueue.Begin();
   const InterfaceContainer::Iterator end2  = mImpl->eventInterfaceQueue.End();
-  for(; iter2 != end2; ++iter2)
+  if(iter2 != end2)
   {
-    CompleteNotificationInterface* interface = *iter2;
-    if(interface)
+    DALI_TRACE_BEGIN(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED");
+    for(; iter2 != end2; ++iter2)
     {
-      interface->NotifyCompleted();
+      CompleteNotificationInterface* interface = *iter2;
+      if(interface)
+      {
+        interface->NotifyCompleted();
+      }
     }
+    DALI_TRACE_END(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED");
   }
   // just clear the container, we dont own the objects
   mImpl->eventInterfaceQueue.Clear();