From: Boram Park Date: Sun, 28 Feb 2016 22:35:43 +0000 (+0900) Subject: add ttrace X-Git-Tag: accepted/tizen/wearable/20160228.232143 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Ftags%2Faccepted%2Ftizen%2Fwearable%2F20160228.232143;p=platform%2Fcore%2Fuifw%2Flibtdm.git add ttrace Change-Id: I3312d93151cbf7f73dd26e0976a278c11cbb3fc8 --- diff --git a/configure.ac b/configure.ac index 65505d6..3da1d84 100644 --- a/configure.ac +++ b/configure.ac @@ -34,6 +34,13 @@ AC_ARG_WITH(tdm-module-path, AS_HELP_STRING([--with-tdm-module-path=PATH], [tdm [ TDM_MODULE_PATH="${DEFAULT_TDM_MODULE_PATH}" ]) AC_DEFINE_UNQUOTED(TDM_MODULE_PATH, "${TDM_MODULE_PATH}", [Directory for the modules of tdm]) +PKG_CHECK_MODULES(TTRACE, + [ttrace], + [have_ttrace="yes"], [have_ttrace="no"]) +if test "x$have_ttrace" = "xyes"; then + AC_DEFINE(HAVE_TTRACE, 1, [ttrace available]) +fi + # For enumerating devices in test case AC_SUBST(WARN_CFLAGS) AC_OUTPUT([ diff --git a/packaging/libtdm.spec b/packaging/libtdm.spec index 7069bbd..43d4969 100644 --- a/packaging/libtdm.spec +++ b/packaging/libtdm.spec @@ -9,6 +9,7 @@ Source1001: %{name}.manifest BuildRequires: pkgconfig(pthread-stubs) BuildRequires: pkgconfig(libtbm) BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(ttrace) %description Common user library of Tizen Display Manager : libtdm front-end library diff --git a/src/tdm.c b/src/tdm.c index 9072770..699450c 100644 --- a/src/tdm.c +++ b/src/tdm.c @@ -624,10 +624,13 @@ _tdm_display_load_module_with_file(tdm_private_display *private_display, const c snprintf(path, sizeof(path), TDM_MODULE_PATH "/%s", file); + TDM_TRACE_BEGIN(Load_Backend); + module = dlopen(path, RTLD_LAZY); if (!module) { TDM_ERR("failed to load module: %s(%s)", dlerror(), file); + TDM_TRACE_END(); return TDM_ERROR_BAD_MODULE; } @@ -636,6 +639,7 @@ _tdm_display_load_module_with_file(tdm_private_display *private_display, const c { TDM_ERR("'%s' doesn't have data object", file); ret = TDM_ERROR_BAD_MODULE; + TDM_TRACE_END(); goto failed_load; } @@ -647,8 +651,12 @@ _tdm_display_load_module_with_file(tdm_private_display *private_display, const c if (ret != TDM_ERROR_NONE) goto failed_load; + TDM_TRACE_END(); + /* We don't care if backend_data is NULL or not. It's up to backend. */ + TDM_TRACE_BEGIN(Init_Backend); private_display->bdata = module_data->init((tdm_display*)private_display, &ret); + TDM_TRACE_END(); if (ret != TDM_ERROR_NONE) { TDM_ERR("'%s' init failed", file); @@ -765,11 +773,15 @@ tdm_display_init(tdm_error *error) if (ret != TDM_ERROR_NONE) goto failed_load; + TDM_TRACE_BEGIN(Update_Display); ret = _tdm_display_update_internal(private_display, 0); + TDM_TRACE_END(); if (ret != TDM_ERROR_NONE) goto failed_update; + TDM_TRACE_BEGIN(Bufmgr_Init); ret = _tdm_display_init_bufmgr(private_display); + TDM_TRACE_END(); if (ret != TDM_ERROR_NONE) goto failed_update; diff --git a/src/tdm_private.h b/src/tdm_private.h index ec46009..78a7990 100644 --- a/src/tdm_private.h +++ b/src/tdm_private.h @@ -120,6 +120,15 @@ extern "C" { }\ } +#ifdef HAVE_TTRACE +#include +#define TDM_TRACE_BEGIN(NAME) traceBegin(TTRACE_TAG_GRAPHICS, "TDM:"#NAME) +#define TDM_TRACE_END() traceEnd(TTRACE_TAG_GRAPHICS) +#else +#define TDM_TRACE_BEGIN(NAME) +#define TDM_TRACE_END() +#endif + #define TDM_NEVER_GET_HERE() TDM_ERR("** NEVER GET HERE **") #define TDM_SNPRINTF(p, len, fmt, ARG...) \