X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Flist.c;h=93758381c9678a9afb5554c9d220d9776f272afd;hb=8b703175f140287205a8dba654f0201b9947761d;hp=b73d5209f7f023408048fa27f90f9e0a3a45aeb3;hpb=441c16a7f0bbab56a5e783059d0cddab68544a9a;p=lttng-tools.git diff --git a/src/bin/lttng/commands/list.c b/src/bin/lttng/commands/list.c index b73d5209f..93758381c 100644 --- a/src/bin/lttng/commands/list.c +++ b/src/bin/lttng/commands/list.c @@ -144,47 +144,43 @@ const char *enabled_string(int value) } } -static -const char *loglevel_string_pre(int loglevel) -{ - if (loglevel == -1) { - return ""; - } else { - return " (loglevel: "; - } -} - -static -const char *loglevel_string_post(int loglevel) -{ - if (loglevel == -1) { - return ""; - } else { - return ")"; - } -} - static const char *loglevel_string(int value) { switch (value) { - case -1: return ""; - case 0: return "TRACE_EMERG"; - case 1: return "TRACE_ALERT"; - case 2: return "TRACE_CRIT"; - case 3: return "TRACE_ERR"; - case 4: return "TRACE_WARNING"; - case 5: return "TRACE_NOTICE"; - case 6: return "TRACE_INFO"; - case 7: return "TRACE_SYSTEM"; - case 8: return "TRACE_PROGRAM"; - case 9: return "TRACE_PROCESS"; - case 10: return "TRACE_MODULE"; - case 11: return "TRACE_UNIT"; - case 12: return "TRACE_FUNCTION"; - case 13: return "TRACE_DEFAULT"; - case 14: return "TRACE_VERBOSE"; - case 15: return "TRACE_DEBUG"; - default: return "<>"; + case -1: + return ""; + case LTTNG_LOGLEVEL_EMERG: + return "TRACE_EMERG"; + case LTTNG_LOGLEVEL_ALERT: + return "TRACE_ALERT"; + case LTTNG_LOGLEVEL_CRIT: + return "TRACE_CRIT"; + case LTTNG_LOGLEVEL_ERR: + return "TRACE_ERR"; + case LTTNG_LOGLEVEL_WARNING: + return "TRACE_WARNING"; + case LTTNG_LOGLEVEL_NOTICE: + return "TRACE_NOTICE"; + case LTTNG_LOGLEVEL_INFO: + return "TRACE_INFO"; + case LTTNG_LOGLEVEL_DEBUG_SYSTEM: + return "TRACE_DEBUG_SYSTEM"; + case LTTNG_LOGLEVEL_DEBUG_PROGRAM: + return "TRACE_DEBUG_PROGRAM"; + case LTTNG_LOGLEVEL_DEBUG_PROCESS: + return "TRACE_DEBUG_PROCESS"; + case LTTNG_LOGLEVEL_DEBUG_MODULE: + return "TRACE_DEBUG_MODULE"; + case LTTNG_LOGLEVEL_DEBUG_UNIT: + return "TRACE_DEBUG_UNIT"; + case LTTNG_LOGLEVEL_DEBUG_FUNCTION: + return "TRACE_DEBUG_FUNCTION"; + case LTTNG_LOGLEVEL_DEBUG_LINE: + return "TRACE_DEBUG_LINE"; + case LTTNG_LOGLEVEL_DEBUG: + return "TRACE_DEBUG"; + default: + return "<>"; } } @@ -196,12 +192,19 @@ static void print_events(struct lttng_event *event) switch (event->type) { case LTTNG_EVENT_TRACEPOINT: { - MSG("%s%s%s%s%s (type: tracepoint)%s", indent6, + if (event->loglevel != -1) { + MSG("%s%s (loglevel: %s (%d)) (type: tracepoint)%s", + indent6, event->name, - loglevel_string_pre(event->loglevel), loglevel_string(event->loglevel), - loglevel_string_post(event->loglevel), + event->loglevel, enabled_string(event->enabled)); + } else { + MSG("%s%s (type: tracepoint)%s", + indent6, + event->name, + enabled_string(event->enabled)); + } break; } case LTTNG_EVENT_PROBE: @@ -221,7 +224,7 @@ static void print_events(struct lttng_event *event) MSG("%ssymbol: \"%s\"", indent8, event->attr.ftrace.symbol_name); break; case LTTNG_EVENT_SYSCALL: - MSG("%s (type: syscall)%s", indent6, + MSG("%ssyscalls (type: syscall)%s", indent6, enabled_string(event->enabled)); break; case LTTNG_EVENT_NOOP: @@ -260,6 +263,7 @@ static int list_ust_events(void) size = lttng_list_tracepoints(handle, &event_list); if (size < 0) { ERR("Unable to list UST events"); + lttng_destroy_handle(handle); return size; } @@ -280,10 +284,12 @@ static int list_ust_events(void) MSG(""); free(event_list); + lttng_destroy_handle(handle); return CMD_SUCCESS; error: + lttng_destroy_handle(handle); return -1; } @@ -311,6 +317,7 @@ static int list_kernel_events(void) size = lttng_list_tracepoints(handle, &event_list); if (size < 0) { ERR("Unable to list kernel events"); + lttng_destroy_handle(handle); return size; } @@ -324,9 +331,11 @@ static int list_kernel_events(void) free(event_list); + lttng_destroy_handle(handle); return CMD_SUCCESS; error: + lttng_destroy_handle(handle); return -1; } @@ -600,10 +609,12 @@ int cmd_list(int argc, const char **argv) domain.type = LTTNG_DOMAIN_UST; } - handle = lttng_create_handle(session_name, &domain); - if (handle == NULL) { - ret = CMD_FATAL; - goto end; + if (opt_kernel || opt_userspace) { + handle = lttng_create_handle(session_name, &domain); + if (handle == NULL) { + ret = CMD_FATAL; + goto end; + } } if (session_name == NULL) { @@ -666,7 +677,9 @@ int cmd_list(int argc, const char **argv) } /* Clean handle before creating a new one */ - lttng_destroy_handle(handle); + if (handle) { + lttng_destroy_handle(handle); + } handle = lttng_create_handle(session_name, &domains[i]); if (handle == NULL) { @@ -686,7 +699,9 @@ end: if (domains) { free(domains); } - lttng_destroy_handle(handle); + if (handle) { + lttng_destroy_handle(handle); + } poptFreeContext(pc); return ret;