X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Flist.c;h=da287f5caf9c4a7658b30f4419cf1be7aebb66bb;hp=d84fd2ba97d6e78551b3f07d07ea649d5dc6ffb5;hb=6d1fcf1c029c10dd79c3be0686b1fae567604406;hpb=ca1c3607d2f5654163875cda874f43971df0f696 diff --git a/src/bin/lttng/commands/list.c b/src/bin/lttng/commands/list.c index d84fd2ba9..da287f5ca 100644 --- a/src/bin/lttng/commands/list.c +++ b/src/bin/lttng/commands/list.c @@ -70,22 +70,22 @@ static struct poptOption long_options[] = { */ static void usage(FILE *ofp) { - fprintf(ofp, "usage: lttng list [SESSION []]\n"); + fprintf(ofp, "usage: lttng list [OPTIONS] [SESSION []]\n"); fprintf(ofp, "\n"); fprintf(ofp, "With no arguments, list available tracing session(s)\n"); fprintf(ofp, "\n"); - fprintf(ofp, "With -k alone, list available kernel events\n"); - fprintf(ofp, "With -u alone, list available userspace events\n"); + fprintf(ofp, "Without a session, -k lists available kernel events\n"); + fprintf(ofp, "Without a session, -u lists available userspace events\n"); fprintf(ofp, "\n"); fprintf(ofp, " -h, --help Show this help\n"); - fprintf(ofp, " --list-options Simple listing of options\n"); + fprintf(ofp, " --list-options Simple listing of options\n"); fprintf(ofp, " -k, --kernel Select kernel domain\n"); fprintf(ofp, " -u, --userspace Select user-space domain.\n"); #if 0 fprintf(ofp, " -p, --pid PID List user-space events by PID\n"); #endif fprintf(ofp, "\n"); - fprintf(ofp, "Options:\n"); + fprintf(ofp, "Session Options:\n"); fprintf(ofp, " -c, --channel NAME List details of a channel\n"); fprintf(ofp, " -d, --domain List available domain(s)\n"); fprintf(ofp, "\n"); @@ -145,9 +145,9 @@ const char *enabled_string(int value) } static -const char *loglevel_string_pre(const char *loglevel) +const char *loglevel_string_pre(int loglevel) { - if (loglevel[0] == '\0') { + if (loglevel == -1) { return ""; } else { return " (loglevel: "; @@ -155,15 +155,39 @@ const char *loglevel_string_pre(const char *loglevel) } static -const char *loglevel_string_post(const char *loglevel) +const char *loglevel_string_post(int loglevel) { - if (loglevel[0] == '\0') { + 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_PROCESS"; + case 9: return "TRACE_MODULE"; + case 10: return "TRACE_UNIT"; + case 11: return "TRACE_CLASS"; + case 12: return "TRACE_OBJECT"; + case 13: return "TRACE_FUNCTION"; + case 14: return "TRACE_PRINTF"; + case 15: return "TRACE_DEBUG"; + default: return "<>"; + } +} + /* * Pretty print single event. */ @@ -172,22 +196,11 @@ static void print_events(struct lttng_event *event) switch (event->type) { case LTTNG_EVENT_TRACEPOINT: { - char ll_value[LTTNG_SYMBOL_NAME_LEN] = ""; - - if (event->loglevel[0] != '\0') { - int ret; - - ret = snprintf(ll_value, LTTNG_SYMBOL_NAME_LEN, - " (%lld)", (long long) event->loglevel_value); - if (ret < 0) { - ERR("snprintf error"); - } - } - MSG("%s%s%s%s%s%s (type: tracepoint)%s", indent6, + MSG("%s%s%s%s%d%s (type: tracepoint)%s", indent6, event->name, loglevel_string_pre(event->loglevel), + loglevel_string(event->loglevel), event->loglevel, - ll_value, loglevel_string_post(event->loglevel), enabled_string(event->enabled)); break; @@ -389,10 +402,10 @@ static int list_channels(const char *channel_name) count = lttng_list_channels(handle, &channels); if (count < 0) { ret = count; - goto error; + goto error_channels; } else if (count == 0) { - MSG("No channel found"); - goto end; + ERR("Channel %s not found", channel_name); + goto error; } if (channel_name == NULL) { @@ -421,14 +434,16 @@ static int list_channels(const char *channel_name) } if (!chan_found && channel_name != NULL) { - MSG("Channel %s not found", channel_name); + ERR("Channel %s not found", channel_name); + goto error; } -end: - free(channels); ret = CMD_SUCCESS; error: + free(channels); + +error_channels: return ret; } @@ -475,7 +490,7 @@ static int list_sessions(const char *session_name) free(sessions); if (!session_found && session_name != NULL) { - MSG("Session %s not found", session_name); + ERR("Session %s not found", session_name); } if (session_name == NULL) { @@ -587,7 +602,6 @@ int cmd_list(int argc, const char **argv) if (!opt_kernel && !opt_userspace) { ret = list_sessions(NULL); if (ret < 0) { - ret = CMD_ERROR; goto end; } } @@ -609,7 +623,6 @@ int cmd_list(int argc, const char **argv) /* List session attributes */ ret = list_sessions(session_name); if (ret < 0) { - ret = CMD_ERROR; goto end; }