Print trace message for other profiles
[platform/core/uifw/dali-adaptor.git] / dali / internal / trace / generic / trace-manager-impl-generic.cpp
index 933a4e1..8fc85b9 100644 (file)
  *
  */
 
+// CLASS HEADER
+#include <dali/internal/trace/generic/trace-manager-impl-generic.h>
+
 // EXTERNAL INCLUDES
-#include "trace-manager-impl-generic.h"
+#include <dali/integration-api/debug.h>
 #include <dali/internal/system/common/performance-interface.h>
 
 // INTERNAL INCLUDES
+#include <dali/devel-api/adaptor-framework/environment-variable.h>
 
 namespace Dali
 {
@@ -27,11 +31,24 @@ namespace Internal
 {
 namespace Adaptor
 {
+namespace
+{
+const char* DALI_TRACE_ENABLE_PRINT_LOG_ENV = "DALI_TRACE_ENABLE_PRINT_LOG";
+const char* EMPTY_TAG                       = "(null)";
+static bool gTraceManagerEnablePrintLog     = false;
+} // namespace
+
 TraceManagerGeneric* TraceManagerGeneric::traceManagerGeneric = nullptr;
 
 TraceManagerGeneric::TraceManagerGeneric(PerformanceInterface* performanceInterface)
 : TraceManager(performanceInterface)
 {
+  const char* enablePrintLog = Dali::EnvironmentVariable::GetEnvironmentVariable(DALI_TRACE_ENABLE_PRINT_LOG_ENV);
+  if(enablePrintLog && std::atoi(enablePrintLog) != 0)
+  {
+    gTraceManagerEnablePrintLog = true;
+  }
+
   TraceManagerGeneric::traceManagerGeneric = this;
 }
 
@@ -59,6 +76,18 @@ void TraceManagerGeneric::LogContext(bool start, const char* tag, const char* me
       traceManagerGeneric->mPerformanceInterface->AddMarker(PerformanceInterface::END, contextId);
     }
   }
+
+  if(gTraceManagerEnablePrintLog)
+  {
+    if(start)
+    {
+      DALI_LOG_DEBUG_INFO("BEGIN: %s%s%s\n", tag ? tag : EMPTY_TAG, message ? " " : "", message ? message : "");
+    }
+    else
+    {
+      DALI_LOG_DEBUG_INFO("END: %s%s%s\n", tag ? tag : EMPTY_TAG, message ? " " : "", message ? message : "");
+    }
+  }
 }
 
 } // namespace Adaptor