Print the number of loop count when we trace iteration 46/302946/2
authorEunki, Hong <eunkiki.hong@samsung.com>
Mon, 18 Dec 2023 03:21:54 +0000 (12:21 +0900)
committerEunki, Hong <eunkiki.hong@samsung.com>
Mon, 18 Dec 2023 04:07:52 +0000 (13:07 +0900)
Since we might need to check the overhead of some iteration cases,
Let we print the number of iteration when we check performance marker.

Change-Id: I038cc52dbc875a07def7868ec81115f608be27db
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/common/core-impl.cpp
dali/internal/event/common/notification-manager.cpp
dali/internal/event/events/long-press-gesture/long-press-gesture-processor.cpp
dali/internal/event/events/pan-gesture/pan-gesture-processor.cpp
dali/internal/event/events/pinch-gesture/pinch-gesture-processor.cpp
dali/internal/event/events/rotation-gesture/rotation-gesture-processor.cpp
dali/internal/event/events/tap-gesture/tap-gesture-processor.cpp
dali/internal/event/size-negotiation/relayout-controller-impl.cpp
dali/internal/update/manager/frame-callback-processor.cpp

index 3714d35..e9da296 100644 (file)
@@ -428,7 +428,14 @@ void Core::RunProcessors()
 {
   if(mProcessors.Count() != 0)
   {
-    DALI_TRACE_SCOPE(gTraceFilter, "DALI_CORE_RUN_PROCESSORS");
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mProcessors.Count() << "]";
+      DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSORS", stream.str().c_str());
+    }
+#endif
 
     // Copy processor pointers to prevent changes to vector affecting loop iterator.
     Dali::Vector<Integration::Processor*> processors(mProcessors);
@@ -456,6 +463,19 @@ void Core::RunProcessors()
         }
       }
     }
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mProcessors.Count();
+      if(mProcessorUnregistered)
+      {
+        stream << ", processor changed";
+      }
+      stream << "]";
+      DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_PROCESSORS", stream.str().c_str());
+    }
+#endif
   }
 }
 
@@ -463,7 +483,14 @@ void Core::RunPostProcessors()
 {
   if(mPostProcessors.Count() != 0)
   {
-    DALI_TRACE_SCOPE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSORS");
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mPostProcessors.Count() << "]";
+      DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSORS", stream.str().c_str());
+    }
+#endif
 
     // Copy processor pointers to prevent changes to vector affecting loop iterator.
     Dali::Vector<Integration::Processor*> processors(mPostProcessors);
@@ -491,6 +518,20 @@ void Core::RunPostProcessors()
         }
       }
     }
+
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mPostProcessors.Count();
+      if(mPostProcessorUnregistered)
+      {
+        stream << ", post processor changed";
+      }
+      stream << "]";
+      DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_CORE_RUN_POST_PROCESSORS", stream.str().c_str());
+    }
+#endif
   }
 }
 
index 127fe57..8ee18d2 100644 (file)
@@ -157,11 +157,26 @@ void NotificationManager::ProcessMessages()
   const MessageContainer::Iterator end  = mImpl->eventMessageQueue.End();
   if(iter != end)
   {
-    DALI_TRACE_SCOPE(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE");
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mImpl->eventMessageQueue.Count() << "]";
+      DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE", stream.str().c_str());
+    }
+#endif
     for(; iter != end; ++iter)
     {
       (*iter)->Process(0u /*ignored*/);
     }
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mImpl->eventMessageQueue.Count() << "]";
+      DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_PROCESS_MESSAGE", stream.str().c_str());
+    }
+#endif
   }
   // release the processed messages from event side queue
   mImpl->eventMessageQueue.Clear();
@@ -170,7 +185,14 @@ void NotificationManager::ProcessMessages()
   const InterfaceContainer::iterator end2  = mImpl->eventInterfaceQueue.end();
   if(iter2 != end2)
   {
-    DALI_TRACE_SCOPE(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED");
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mImpl->eventInterfaceQueue.size() << "]";
+      DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED", stream.str().c_str());
+    }
+#endif
     for(; iter2 != end2; ++iter2)
     {
       CompleteNotificationInterface* interface = iter2->first;
@@ -179,6 +201,14 @@ void NotificationManager::ProcessMessages()
         interface->NotifyCompleted(std::move(iter2->second));
       }
     }
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mImpl->eventInterfaceQueue.size() << "]";
+      DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_NOTIFICATION_NOTIFY_COMPLETED", stream.str().c_str());
+    }
+#endif
   }
   // just clear the container, we dont own the objects
   mImpl->eventInterfaceQueue.clear();
index 1bc8927..1f3b27c 100644 (file)
@@ -64,7 +64,14 @@ void EmitLongPressSignal(
   longPress->SetSourceType(longPressEvent.sourceType);
   longPress->SetSourceData(longPressEvent.sourceData);
 
-  DALI_TRACE_SCOPE(gTraceFilter, "DALI_EMIT_LONG_PRESS_GESTURE_SIGNAL");
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_LONG_PRESS_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 
   Dali::Actor                                    actorHandle(actor);
   const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
@@ -72,6 +79,15 @@ void EmitLongPressSignal(
   {
     static_cast<LongPressGestureDetector*>(*iter)->EmitLongPressGestureSignal(actorHandle, Dali::LongPressGesture(longPress.Get()));
   }
+
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_LONG_PRESS_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 }
 
 /**
index 92ebc02..69fe61a 100644 (file)
@@ -571,7 +571,14 @@ void PanGestureProcessor::EmitPanSignal(Actor*                          actor,
       mSceneObject->AddGesture(*pan.Get());
     }
 
-    DALI_TRACE_SCOPE(gTraceFilter, "DALI_EMIT_PAN_GESTURE_SIGNAL");
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << gestureDetectors.size() << "]";
+      DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PAN_GESTURE_SIGNAL", stream.str().c_str());
+    }
+#endif
 
     Dali::Actor actorHandle(actor);
 
@@ -580,6 +587,15 @@ void PanGestureProcessor::EmitPanSignal(Actor*                          actor,
     {
       static_cast<PanGestureDetector*>(*iter)->EmitPanGestureSignal(actorHandle, Dali::PanGesture(pan.Get()));
     }
+
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << gestureDetectors.size() << "]";
+      DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PAN_GESTURE_SIGNAL", stream.str().c_str());
+    }
+#endif
   }
 }
 
index c281472..327ddfe 100644 (file)
@@ -68,7 +68,14 @@ void EmitPinchSignal(
   pinch->SetSourceType(pinchEvent.sourceType);
   pinch->SetSourceData(pinchEvent.sourceData);
 
-  DALI_TRACE_SCOPE(gTraceFilter, "DALI_EMIT_PINCH_GESTURE_SIGNAL");
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PINCH_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 
   Dali::Actor                                    actorHandle(actor);
   const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
@@ -76,6 +83,15 @@ void EmitPinchSignal(
   {
     static_cast<PinchGestureDetector*>(*iter)->EmitPinchGestureSignal(actorHandle, Dali::PinchGesture(pinch.Get()));
   }
+
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_PINCH_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 }
 
 /**
index 65740bf..9171296 100644 (file)
@@ -65,7 +65,14 @@ void EmitRotationSignal(
   rotation->SetSourceType(rotationEvent.sourceType);
   rotation->SetSourceData(rotationEvent.sourceData);
 
-  DALI_TRACE_SCOPE(gTraceFilter, "DALI_EMIT_ROTATION_GESTURE_SIGNAL");
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_ROTATION_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 
   Dali::Actor                                    actorHandle(actor);
   const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
@@ -73,6 +80,15 @@ void EmitRotationSignal(
   {
     static_cast<RotationGestureDetector*>(*iter)->EmitRotationGestureSignal(actorHandle, Dali::RotationGesture(rotation.Get()));
   }
+
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_ROTATION_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 }
 
 /**
index 7486056..e942503 100644 (file)
@@ -68,7 +68,14 @@ void EmitTapSignal(
   tap->SetSourceType(tapEvent.sourceType);
   tap->SetSourceData(tapEvent.sourceData);
 
-  DALI_TRACE_SCOPE(gTraceFilter, "DALI_EMIT_TAP_GESTURE_SIGNAL");
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_TAP_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 
   Dali::Actor                                    actorHandle(actor);
   const GestureDetectorContainer::const_iterator endIter = gestureDetectors.end();
@@ -76,6 +83,15 @@ void EmitTapSignal(
   {
     static_cast<TapGestureDetector*>(*iter)->EmitTapGestureSignal(actorHandle, Dali::TapGesture(tap.Get()));
   }
+
+#ifdef TRACE_ENABLED
+  if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+  {
+    std::ostringstream stream;
+    stream << "[" << gestureDetectors.size() << "]";
+    DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_EMIT_TAP_GESTURE_SIGNAL", stream.str().c_str());
+  }
+#endif
 }
 
 } // unnamed namespace
index 4f333de..e02066e 100644 (file)
@@ -438,20 +438,31 @@ void RelayoutController::Relayout()
     // 2. Iterate through the stack until it's empty.
     if(mRelayoutStack->Size() > 0)
     {
-      DALI_TRACE_SCOPE(gTraceFilter, "DALI_RELAYOUT");
+      DALI_TRACE_BEGIN(gTraceFilter, "DALI_RELAYOUT");
       PRINT_HIERARCHY;
+#ifdef TRACE_ENABLED
+      uint32_t relayoutActorCount   = 0u;
+      uint32_t negotiatedActorCount = 0u;
+#endif
 
       while(mRelayoutStack->Size() > 0)
       {
         Dali::Actor actor;
         Vector2     size;
 
+#ifdef TRACE_ENABLED
+        ++relayoutActorCount;
+#endif
+
         mRelayoutStack->GetBack(actor, size);
         Actor& actorImpl = GetImplementation(actor);
         mRelayoutStack->PopBack();
 
         if(actorImpl.RelayoutRequired() && actorImpl.OnScene())
         {
+#ifdef TRACE_ENABLED
+          ++negotiatedActorCount;
+#endif
           DALI_LOG_INFO(gLogFilter, Debug::General, "[Internal::RelayoutController::Relayout] Negotiating %p %s %s (%.2f, %.2f)\n", &actorImpl, actor.GetTypeName().c_str(), actor.GetProperty<std::string>(Dali::Actor::Property::NAME).c_str(), size.width, size.height);
 
           // 3. Negotiate the size with the current actor. Pass it an empty container which the actor
@@ -464,6 +475,15 @@ void RelayoutController::Relayout()
       mRelayoutInfoAllocator.ResetMemoryPool();
 
       PRINT_HIERARCHY;
+
+#ifdef TRACE_ENABLED
+      if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+      {
+        std::ostringstream stream;
+        stream << "[relayoutActor:" << relayoutActorCount << " negotiatedActor:" << negotiatedActorCount << "]";
+        DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_RELAYOUT", stream.str().c_str());
+      }
+#endif
     }
 
     mPerformingRelayout = false;
index 8e02e21..b4adc0e 100644 (file)
@@ -106,7 +106,14 @@ bool FrameCallbackProcessor::Update(BufferIndex bufferIndex, float elapsedSecond
 
   if(!mFrameCallbacks.empty())
   {
-    DALI_TRACE_SCOPE(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE");
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mFrameCallbacks.size() << "]";
+      DALI_TRACE_BEGIN_WITH_MESSAGE(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE", stream.str().c_str());
+    }
+#endif
 
     // If any of the FrameCallback::Update calls returns false, then they are no longer required & can be removed.
     auto iter = std::remove_if(
@@ -116,6 +123,15 @@ bool FrameCallbackProcessor::Update(BufferIndex bufferIndex, float elapsedSecond
         return (requests & FrameCallback::CONTINUE_CALLING) == 0;
       });
     mFrameCallbacks.erase(iter, mFrameCallbacks.end());
+
+#ifdef TRACE_ENABLED
+    if(gTraceFilter && gTraceFilter->IsTraceEnabled())
+    {
+      std::ostringstream stream;
+      stream << "[" << mFrameCallbacks.size() << "]";
+      DALI_TRACE_END_WITH_MESSAGE(gTraceFilter, "DALI_FRAME_CALLBACK_UPDATE", stream.str().c_str());
+    }
+#endif
   }
 
   mNodeHierarchyChanged = false;