Added extra debug logs under STC_DEBUG_LOG tag 30/154330/2
authorhyunuktak <hyunuk.tak@samsung.com>
Tue, 10 Oct 2017 05:27:08 +0000 (14:27 +0900)
committerhyunuktak <hyunuk.tak@samsung.com>
Tue, 10 Oct 2017 05:30:38 +0000 (14:30 +0900)
Change-Id: I40b7a6eae7e2adbf919b6f0359b162d221fbc124
Signed-off-by: hyunuktak <hyunuk.tak@samsung.com>
include/stc-manager-util.h
plugin/CMakeLists.txt
plugin/stc-plugin.c
src/monitor/stc-app-lifecycle.c
src/monitor/stc-monitor.c

index 32b1cde..708f67c 100755 (executable)
 
 #endif /* USE_DLOG */
 
+#define LOG_RED      "\033[0;31m"
+#define LOG_GREEN    "\033[0;32m"
+#define LOG_BROWN    "\033[0;33m"
+#define LOG_BLUE     "\033[0;34m"
+#define LOG_MAGENTA     "\033[0;35m"
+#define LOG_CYAN     "\033[0;36m"
+#define LOG_YELLOW   "\033[1;33m"
+#define LOG_LIGHTRED      "\033[1;31m"
+#define LOG_LIGHTGREEN    "\033[1;32m"
+#define LOG_LIGHTBLUE     "\033[1;34m"
+#define LOG_LIGHTMAGENTA  "\033[1;35m"
+#define LOG_LIGHTCYAN     "\033[1;36m"
+#define LOG_END      "\033[0;m"
+
 #define APP_ID_LEN_MAX 1024
 
 #define GPOINTER_TO_PID(x) (pid_t)GPOINTER_TO_INT((x))
index 3e5dcda..afde5f4 100755 (executable)
@@ -24,6 +24,8 @@ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -g -Werror -fvisibility=hidd
 SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
 SET(CMAKE_C_FLAGS_RELEASE "-O2")
 
+ADD_DEFINITIONS("-DUSE_DLOG")
+
 SET(SRCS_PLUGIN
        stc-plugin.c
        )
index a566388..db83094 100755 (executable)
@@ -60,7 +60,6 @@ static void __stc_gdbus_handle_aul_changestate(GDBusConnection *connection,
                                               GVariant *parameters,
                                               gpointer user_data)
 {
-       __STC_LOG_FUNC_ENTER__;
        pid_t pid;
        stc_cmd_type_e status;
        stc_app_type_e apptype;
@@ -69,7 +68,6 @@ static void __stc_gdbus_handle_aul_changestate(GDBusConnection *connection,
        if (g_strcmp0(g_variant_get_type_string(parameters),
                      AUL_APP_STATUS_DBUS_STATUS_CHANGE_TYPE)) {
                STC_LOGE("Dbus type not matching, do not process");
-               __STC_LOG_FUNC_EXIT__;
                return;
        }
 
@@ -81,7 +79,6 @@ static void __stc_gdbus_handle_aul_changestate(GDBusConnection *connection,
        } else if (!strncmp(statstr, "bg", 2)) {
                status = STC_CMD_SET_BACKGRD;
        } else {
-               __STC_LOG_FUNC_EXIT__;
                goto out;
        }
 
@@ -94,10 +91,15 @@ static void __stc_gdbus_handle_aul_changestate(GDBusConnection *connection,
        else
                apptype = STC_APP_TYPE_GUI;
 
+#if STC_DEBUG_LOG
+               STC_LOGD("\033[1;36mAPP STATUS\033[0;m: Pkg ID [\033[0;34m%s\033[0;m], "
+                       "App ID [\033[0;32m%s\033[0;m], PID [\033[1;33m%d\033[0;m], Status [%s], Type [%s]",
+                       pkgid, appid, pid, statstr, pkgtype);
+#endif
+
        if (state_changed_cb)
                state_changed_cb(status, pid, appid, pkgid, apptype);
 
-       __STC_LOG_FUNC_EXIT__;
 out:
        FREE(appid);
        FREE(pkgid);
@@ -175,8 +177,8 @@ static int __stc_send_warn_message_to_net_popup(const char *content,
        int ret = 0;
        bundle *b = bundle_create();
 
-       STC_LOGD("Warn message : content[%s] type[%s] app_id[%s] limit[%s]",
-               title, content, type, app_id, limit);
+       STC_LOGD("Warn message : content[%s] type[%s] app_id[%s] warn[%s]",
+               content, type, app_id, warn);
 
        bundle_add(b, "_SYSPOPUP_CONTENT_", content);
        bundle_add(b, "_SYSPOPUP_TYPE_", type);
@@ -198,7 +200,7 @@ static int __stc_send_restriction_message_to_net_popup(const char *content,
        bundle *b = bundle_create();
 
        STC_LOGD("Restriction message : content[%s] type[%s] app_id[%s] limit[%s]",
-               title, content, type, app_id);
+               content, type, app_id, limit);
 
        bundle_add(b, "_SYSPOPUP_CONTENT_", content);
        bundle_add(b, "_SYSPOPUP_TYPE_", type);
index d43fe47..09fcef0 100755 (executable)
@@ -101,6 +101,26 @@ static proc_value_s * __proc_tree_lookup(const proc_key_s *key)
        return lookup;
 }
 
+#if STC_DEBUG_LOG
+static gboolean __proc_tree_foreach_print(gpointer key, gpointer value,
+                                         gpointer data)
+{
+       proc_key_s *proc_key = (proc_key_s *)key;
+       proc_value_s *proc_value = (proc_value_s *)value;
+
+       STC_LOGD("Proc pid [\033[1;33m%d\033[0;m] ppid [\033[1;35m%s\033[0;m] "
+               "cmdline [\033[0;34m%s\033[0;m]", proc_key->pid,
+               proc_value->status[PROC_STATUS_PPID], proc_value->cmdline);
+
+       return FALSE;
+}
+
+static void __proc_tree_printall(void)
+{
+       g_tree_foreach(proc_tree, __proc_tree_foreach_print, NULL);
+}
+#endif
+
 static proc_value_s * __proc_tree_find_parent(proc_value_s *value)
 {
        proc_value_s *parent = NULL;
@@ -114,6 +134,15 @@ static proc_value_s * __proc_tree_find_parent(proc_value_s *value)
                        parent = lookup;
        } while (lookup);
 
+#if STC_DEBUG_LOG
+               if (parent != NULL)
+                       STC_LOGD("\033[0;35mPARENT\033[0;m: tgid[\033[1;33m%s\033[0;m] pid[%s] "
+                               "ppid[\033[1;35m%s\033[0;m] cmdline[\033[0;34m%s\033[0;m] name[%s]",
+                               parent->status[PROC_STATUS_TGID], parent->status[PROC_STATUS_PID],
+                               parent->status[PROC_STATUS_PPID], parent->cmdline,
+                               parent->status[PROC_STATUS_NAME]);
+#endif
+
        return parent;
 }
 
@@ -129,11 +158,25 @@ static void __proc_tree_add(proc_key_s *key,
        }
 
        lookup = g_tree_lookup(proc_tree, key);
-       if (lookup)
+       if (lookup) {
+#if STC_DEBUG_LOG
+                       STC_LOGD("LOOKUP: tgid[\033[1;33m%s\033[0;m] pid[%s] ppid[\033[1;35m%s\033[0;m] "
+                               "cmdline[\033[0;34m%s\033[0;m] name[%s]", lookup->status[PROC_STATUS_TGID],
+                               lookup->status[PROC_STATUS_PID], lookup->status[PROC_STATUS_PPID],
+                               lookup->cmdline, lookup->status[PROC_STATUS_NAME]);
+#endif
                return;
+       }
+
+       STC_LOGD("cmdline [%s] pid[%s] ppid[%s]", value->cmdline,
+               value->status[PROC_STATUS_PID], value->status[PROC_STATUS_PPID]);
 
        g_tree_insert(proc_tree, key, value);
 
+#if STC_DEBUG_LOG
+               __proc_tree_printall();
+#endif
+
        parent = __proc_tree_find_parent(value);
        if (parent != NULL)
                stc_manager_app_status_changed(STC_CMD_SET_SERVICE_LAUNCHED, key->pid,
@@ -153,6 +196,10 @@ static void __proc_tree_remove(const proc_key_s *key)
        stc_manager_app_status_changed(STC_CMD_SET_TERMINATED, key->pid, NULL,
                                       NULL, STC_APP_TYPE_NONE);
        g_tree_remove(proc_tree, key);
+
+#if STC_DEBUG_LOG
+               __proc_tree_printall();
+#endif
 }
 
 static gboolean __check_excn(char *cmdline)
@@ -229,9 +276,12 @@ stc_error_e stc_manager_app_status_changed(stc_cmd_type_e cmd,
                                           const gchar *pkg_id,
                                           stc_app_type_e app_type)
 {
-       __STC_LOG_FUNC_ENTER__;
        stc_error_e ret = STC_ERROR_NONE;
 
+       if (pkg_id && app_id)
+               STC_LOGD("cmd [%d] pkgid [%s] appid [%s] pid[%d] type [%d]",
+                       cmd, pkg_id, app_id, pid, app_type);
+
        switch (cmd) {
        case STC_CMD_SET_FOREGRD:
        {
@@ -337,7 +387,6 @@ stc_error_e stc_manager_app_status_changed(stc_cmd_type_e cmd,
                ret = STC_ERROR_INVALID_PARAMETER;
        }
 
-       __STC_LOG_FUNC_EXIT__;
        return ret;
 }
 
@@ -349,8 +398,12 @@ static void __process_event_fork(int tgid, int pid)
        if (STC_ERROR_NONE == proc_get_cmdline(pid, cmdline) &&
            STC_ERROR_NONE == proc_get_status(pid, status)) {
 
-               if (__check_excn(cmdline))
+               if (__check_excn(cmdline)) {
+#if STC_DEBUG_LOG
+                               STC_LOGD("[%s] monitoring is excepted", cmdline);
+#endif
                        return;
+               }
 
                unsigned int i;
                proc_key_s *key;
@@ -374,6 +427,14 @@ static void __process_event_fork(int tgid, int pid)
                        g_strlcpy(value->status[i], status[i], sizeof(value->status[i]));
                g_strlcpy(value->cmdline, cmdline, sizeof(value->cmdline));
 
+#if STC_DEBUG_LOG
+                       STC_LOGD("\033[1;34mFORK\033[0;m: tgid[\033[1;33m%d\033[0;m] ppid=[\033[1;35m%s\033[0;m] "
+                               "cmdline[\033[0;34m%s\033[0;m] pid[%d]", tgid, status[PROC_STATUS_PPID], cmdline, pid);
+                       STC_LOGD("STATUS: tgid[%s] pid[%s] ppid[%s] name[%s] state[%s] tracerpid[%s]",
+                               status[PROC_STATUS_TGID], status[PROC_STATUS_PID], status[PROC_STATUS_PPID],
+                               status[PROC_STATUS_NAME], status[PROC_STATUS_STATE], status[PROC_STATUS_TRACERPID]);
+#endif
+
                __proc_tree_add(key, value);
        }
 }
@@ -386,8 +447,12 @@ static void __process_event_exec(int tgid, int pid)
        if (STC_ERROR_NONE == proc_get_cmdline(pid, cmdline) &&
            STC_ERROR_NONE == proc_get_status(pid, status)) {
 
-               if (__check_excn(cmdline))
+               if (__check_excn(cmdline)) {
+#if STC_DEBUG_LOG
+                               STC_LOGD("[%s] monitoring is excepted", cmdline);
+#endif
                        return;
+               }
 
                unsigned int i;
                proc_key_s *key;
@@ -411,6 +476,14 @@ static void __process_event_exec(int tgid, int pid)
                        g_strlcpy(value->status[i], status[i], sizeof(value->status[i]));
                g_strlcpy(value->cmdline, cmdline, sizeof(value->cmdline));
 
+#if STC_DEBUG_LOG
+                       STC_LOGD("\033[1;32mEXEC\033[0;m: tgid[\033[1;33m%d\033[0;m] ppid=[\033[1;35m%s\033[0;m] "
+                               "cmdline[\033[0;34m%s\033[0;m] pid[%d]", tgid, status[PROC_STATUS_PPID], cmdline, pid);
+                       STC_LOGD("STATUS: tgid[%s] pid[%s] ppid[%s] name[%s] state[%s] tracerpid[%s]",
+                               status[PROC_STATUS_TGID], status[PROC_STATUS_PID], status[PROC_STATUS_PPID],
+                               status[PROC_STATUS_NAME], status[PROC_STATUS_STATE], status[PROC_STATUS_TRACERPID]);
+#endif
+
                __proc_tree_add(key, value);
        }
 }
@@ -428,6 +501,11 @@ static void __process_event_exit(int tgid, int pid, int exit_code)
        if (lookup == NULL) /* unmonitored process */
                return;
 
+#if STC_DEBUG_LOG
+               STC_LOGD("\033[1;31mEXIT\033[0;m: tgid[\033[1;33m%d\033[0;m] "
+                       "pid[%d] exitcode[\033[0;31m%d\033[0;m]", tgid, pid, exit_code);
+#endif
+
        __proc_tree_remove(&key);
 }
 
index 9fdf529..a50d65b 100755 (executable)
@@ -283,7 +283,7 @@ static gboolean __processes_tree_foreach_print(gpointer key, gpointer value,
        stc_process_key_s *proc_key = (stc_process_key_s *)key;
        stc_process_value_s *proc_value = (stc_process_value_s *)value;
 
-       STC_LOGD("Process entry => PID [%d], Ground state [%d]",
+       STC_LOGD("Process entry => PID [\033[1;33m%d\033[0;m], Ground state [%d]",
                 proc_key->pid, proc_value->ground);
        return FALSE;
 }
@@ -299,8 +299,8 @@ static gboolean __apps_tree_foreach_print(gpointer key, gpointer value,
        stc_app_key_s *app_key = (stc_app_key_s *)key;
        stc_app_value_s *app_value = (stc_app_value_s *)value;
 
-       STC_LOGD("Application info => Pkg ID [%s], App ID [%s],"
-                " Type [%d], classid [%d],"
+       STC_LOGD("Application info => Pkg ID [\033[0;34m%s\033[0;m], "
+                "App ID [\033[0;32m%s\033[0;m], Type [%d], classid [%d],"
                 " counter [ in (%lld), out (%lld)]",
                 app_key->pkg_id, app_key->app_id,
                 app_value->type, app_value->classid,
@@ -309,9 +309,7 @@ static gboolean __apps_tree_foreach_print(gpointer key, gpointer value,
        __processes_tree_printall(app_value->processes);
        return FALSE;
 }
-#endif
 
-#if 0
 static void __apps_tree_printall(void)
 {
        g_tree_foreach(g_system->apps, __apps_tree_foreach_print, NULL);
@@ -1782,6 +1780,10 @@ stc_error_e stc_monitor_process_add(const stc_app_key_s app_key,
        /* add pid to application cgroup */
        place_pids_to_net_cgroup(proc_key.pid, app_key.app_id);
 
+#if STC_DEBUG_LOG
+               __apps_tree_printall();
+#endif
+
        return ret;
 }
 
@@ -1806,6 +1808,10 @@ stc_error_e stc_monitor_process_remove(pid_t pid)
        if (context.entry_removed)
                __application_remove_if_empty(context.app_key);
 
+#if STC_DEBUG_LOG
+               __apps_tree_printall();
+#endif
+
        return ret;
 }