[Tizen] Add some logs for SVG rasterize task for debug
authorEunki, Hong <eunkiki.hong@samsung.com>
Wed, 20 Dec 2023 08:23:51 +0000 (17:23 +0900)
committersunghyun kim <scholb.kim@samsung.com>
Wed, 27 Dec 2023 09:28:01 +0000 (18:28 +0900)
Change-Id: Ifb10ff1ae75a086393e6ad9e3c90abe51797d8e5
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
dali/internal/system/common/async-task-manager-impl.cpp

index 1ff0f02..6ff5049 100644 (file)
@@ -24,7 +24,6 @@
 #include <dali/devel-api/common/singleton-service.h>
 #include <dali/integration-api/adaptor-framework/adaptor.h>
 #include <dali/integration-api/debug.h>
-#include <dali/integration-api/trace.h>
 
 #include <unordered_map>
 
@@ -68,8 +67,6 @@ Debug::Filter* gAsyncTasksManagerLogFilter = Debug::Filter::New(Debug::NoLogging
 uint32_t gThreadId = 0u; // Only for debug
 #endif
 
-DALI_INIT_TRACE_FILTER(gTraceFilter, DALI_TRACE_PERFORMANCE_MARKER, false);
-
 /**
  * @brief Get the Task Name.
  * Note that we can get const char* from std::string_view as data() since it will be const class.
@@ -167,9 +164,7 @@ void AsyncTaskThread::Run()
     else
     {
       DALI_LOG_INFO(gAsyncTasksManagerLogFilter, Debug::General, "Thread[%u] Process task [%p][%s]\n", threadId, task.Get(), GetTaskName(task));
-      DALI_TRACE_BEGIN(gTraceFilter, GetTaskName(task));
       task->Process();
-      DALI_TRACE_END(gTraceFilter, GetTaskName(task));
       DALI_LOG_INFO(gAsyncTasksManagerLogFilter, Debug::General, "Thread[%u] Complete task [%p][%s]\n", threadId, task.Get(), GetTaskName(task));
       if(!mDestroyThread)
       {
@@ -653,6 +648,14 @@ void AsyncTaskManager::AddTask(AsyncTaskPtr task)
 
     DALI_LOG_INFO(gAsyncTasksManagerLogFilter, Debug::Verbose, "AddTask [%p][%s]\n", task.Get(), GetTaskName(task));
 
+#ifndef DALI_PROFILE_UBUNTU
+    /// Debug log for SVG memory corruption error, for VD
+    if(DALI_LIKELY(task->GetCallbackInvocationThread() == AsyncTask::ThreadType::MAIN_THREAD))
+    {
+      DALI_LOG_RELEASE_INFO("AddTask [%p][%s]\n", task.Get(), GetTaskName(task));
+    }
+#endif //DALI_PROFILE_UBUNTU
+
     // push back into waiting queue.
     auto waitingIter = mWaitingTasks.insert(mWaitingTasks.end(), task);
     CacheImpl::InsertTaskCache(mCacheImpl->mWaitingTasksCache, task, waitingIter);
@@ -700,6 +703,14 @@ void AsyncTaskManager::RemoveTask(AsyncTaskPtr task)
   {
     DALI_LOG_INFO(gAsyncTasksManagerLogFilter, Debug::Verbose, "RemoveTask [%p][%s]\n", task.Get(), GetTaskName(task));
 
+#ifndef DALI_PROFILE_UBUNTU
+    /// Debug log for SVG memory corruption error, for VD
+    if(DALI_LIKELY(task->GetCallbackInvocationThread() == AsyncTask::ThreadType::MAIN_THREAD))
+    {
+      DALI_LOG_RELEASE_INFO("RemoveTask [%p][%s]\n", task.Get(), GetTaskName(task));
+    }
+#endif //DALI_PROFILE_UBUNTU
+
     // Check whether we need to unregister processor.
     // If there is some non-empty queue exist, we don't need to unregister processor.
     bool needCheckUnregisterProcessor = true;
@@ -963,6 +974,15 @@ void AsyncTaskManager::TasksCompleted()
   while(AsyncTaskPtr task = PopNextCompletedTask())
   {
     DALI_LOG_INFO(gAsyncTasksManagerLogFilter, Debug::Verbose, "Execute callback [%p][%s]\n", task.Get(), GetTaskName(task));
+
+#ifndef DALI_PROFILE_UBUNTU
+    /// Debug log for SVG memory corruption error, for VD
+    if(DALI_LIKELY(task->GetCallbackInvocationThread() == AsyncTask::ThreadType::MAIN_THREAD))
+    {
+      DALI_LOG_RELEASE_INFO("Execute callback [%p][%s]\n", task.Get(), GetTaskName(task));
+    }
+#endif //DALI_PROFILE_UBUNTU
+
     CallbackBase::Execute(*(task->GetCompletedCallback()), task);
 
     // Remove TasksCompleted callback trace
@@ -1048,6 +1068,14 @@ AsyncTaskPtr AsyncTaskManager::PopNextTaskToProcess()
 
           DALI_LOG_INFO(gAsyncTasksManagerLogFilter, Debug::Verbose, "Waiting -> Running [%p][%s]\n", nextTask.Get(), GetTaskName(nextTask));
 
+#ifndef DALI_PROFILE_UBUNTU
+          /// Debug log for SVG memory corruption error, for VD
+          if(DALI_LIKELY(nextTask->GetCallbackInvocationThread() == AsyncTask::ThreadType::MAIN_THREAD))
+          {
+            DALI_LOG_RELEASE_INFO("Waiting -> Running [%p][%s]\n", nextTask.Get(), GetTaskName(nextTask));
+          }
+#endif //DALI_PROFILE_UBUNTU
+
           auto runningIter = mRunningTasks.insert(mRunningTasks.end(), std::make_pair(nextTask, RunningTaskState::RUNNING));
           CacheImpl::InsertTaskCache(mCacheImpl->mRunningTasksCache, nextTask, runningIter);
 
@@ -1156,6 +1184,14 @@ void AsyncTaskManager::CompleteTask(AsyncTaskPtr&& task)
 
           DALI_LOG_INFO(gAsyncTasksManagerLogFilter, Debug::Verbose, "Running -> Completed [%p][%s] (callback required? : %d)\n", task.Get(), GetTaskName(task), callbackRequired);
 
+#ifndef DALI_PROFILE_UBUNTU
+          /// Debug log for SVG memory corruption error, for VD
+          if(DALI_LIKELY(task->GetCallbackInvocationThread() == AsyncTask::ThreadType::MAIN_THREAD))
+          {
+            DALI_LOG_RELEASE_INFO("Running -> Completed [%p][%s] (callback required? : %d)\n", task.Get(), GetTaskName(task), callbackRequired);
+          }
+#endif //DALI_PROFILE_UBUNTU
+
           auto completedIter = mCompletedTasks.insert(mCompletedTasks.end(), std::make_pair(task, callbackRequired ? CompletedTaskState::REQUIRE_CALLBACK : CompletedTaskState::SKIP_CALLBACK));
           CacheImpl::InsertTaskCache(mCacheImpl->mCompletedTasksCache, task, completedIter);