Dynamic Animation Library
DALi provides a tracing mechanism which allows developers to optimize application performance by measuring and visualizing intrumented function calls. It aids in the understanding of where the systems is spending most of its time while an application is running.
Some Macros have been provided to make adding tracing to the code much simpler.
#include <dali/integration-api/trace.h>
DALI_INIT_TRACE_FILTER( gFilter, "UPDATE_MANAGER_TRACE", false );
void UpdateManager::Update()
{
DALI_TRACE_BEGIN( gFilter, "UPDATE" );
... // Code to do the Update
DALI_TRACE_END( gFilter, "UPDATE" );
}
gbs build -A armv7l --define "enable_trace 1"
export DALI_NETWORK_CONTROL=1
UPDATE_MANAGER_TRACE=1 dali-demo
nc localhost 3031
set_marker 255
4597695.809673 (seconds), UPDATE_START
4597695.810460 (seconds), UPDATE_END
4597695.832570 (seconds), UPDATE_START
4597695.833282 (seconds), UPDATE_END
4597695.843046 (seconds), UPDATE_START
4597695.843849 (seconds), UPDATE_END
TTrace is used on Tizen for tracing. More information about TTrace can be found here.
You need Tizen Studio on your machine to run TTrace. You can download it from here.
To run and view the tracing output, follow the steps below:
export UPDATE_MANAGER_TRACE=1
~/tizen-studio/tools/ttrace/ttrace.py -t 15 -b 40000 -o page.html
This will save 15 seconds with a 40KB buffer size to page.html.
If enabling all tracing is required, then follow the following steps:
#include <dali/integration-api/trace.h>
Dali::Integration::Trace::Filter::EnableGlobalTrace();