X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fenable_events.c;h=68d49769bcfdc5834422b73c7c68c8c2062287ab;hb=8e8f2c41310a1253c333d0f941d72bc079a57363;hp=f1d04581fd9f5eb05532f6667c84eddd9e6d1faa;hpb=96ffaa0c61089296dd5c9dd07810f32f97931fc8;p=lttng-tools.git diff --git a/src/bin/lttng/commands/enable_events.c b/src/bin/lttng/commands/enable_events.c index f1d04581f..68d49769b 100644 --- a/src/bin/lttng/commands/enable_events.c +++ b/src/bin/lttng/commands/enable_events.c @@ -101,7 +101,7 @@ static struct poptOption long_options[] = { */ static void usage(FILE *ofp) { - fprintf(ofp, "usage: lttng enable-event NAME[,NAME2,...] [-k|-u] [OPTIONS] \n"); + fprintf(ofp, "usage: lttng enable-event NAME[,NAME2,...] (-k | -u | -j | -l | -p) [OPTIONS] \n"); fprintf(ofp, "\n"); fprintf(ofp, "Options:\n"); fprintf(ofp, " -h, --help Show this help\n"); @@ -134,7 +134,7 @@ static void usage(FILE *ofp) fprintf(ofp, "\n"); fprintf(ofp, " --loglevel name\n"); fprintf(ofp, " Tracepoint loglevel range from 0 to loglevel.\n"); - fprintf(ofp, " For JUL/LOG4j domain, see the table below for the range values.\n"); + fprintf(ofp, " For JUL/LOG4j/Python domains, see the table below for the range values.\n"); fprintf(ofp, " --loglevel-only name\n"); fprintf(ofp, " Tracepoint loglevel (only this loglevel)\n"); fprintf(ofp, "\n"); @@ -632,7 +632,7 @@ int check_exclusion_subsets(const char *event_name, goto error; } new_exclusion_list = realloc(exclusion_list, - sizeof(char **) * (exclusion_count + 1)); + sizeof(char *) * (exclusion_count + 1)); if (!new_exclusion_list) { PERROR("realloc"); free(string); @@ -726,10 +726,22 @@ static int enable_events(char *session_name) goto error; } - if (opt_kernel && opt_exclude) { - ERR("Event name exclusions are not yet implemented for kernel events"); - ret = CMD_ERROR; - goto error; + if (opt_exclude) { + switch (dom.type) { + case LTTNG_DOMAIN_KERNEL: + case LTTNG_DOMAIN_JUL: + case LTTNG_DOMAIN_LOG4J: + case LTTNG_DOMAIN_PYTHON: + ERR("Event name exclusions are not yet implemented for %s events", + get_domain_str(dom.type)); + ret = CMD_ERROR; + goto error; + case LTTNG_DOMAIN_UST: + /* Exclusions supported */ + break; + default: + assert(0); + } } channel_name = opt_channel_name; @@ -781,8 +793,10 @@ static int enable_events(char *session_name) assert(opt_userspace || opt_jul || opt_log4j || opt_python); if (opt_userspace) { ev.loglevel = -1; - } else if (opt_jul || opt_log4j) { + } else if (opt_jul) { ev.loglevel = LTTNG_LOGLEVEL_JUL_ALL; + } else if (opt_log4j) { + ev.loglevel = LTTNG_LOGLEVEL_LOG4J_ALL; } else if (opt_python) { ev.loglevel = LTTNG_LOGLEVEL_PYTHON_DEBUG; } @@ -1187,17 +1201,29 @@ static int enable_events(char *session_name) } error_holder = command_ret; } else { - /* So we don't print the default channel name for agent domain. */ - if (dom.type == LTTNG_DOMAIN_JUL || - dom.type == LTTNG_DOMAIN_LOG4J) { - MSG("%s event %s%s enabled.", - get_domain_str(dom.type), event_name, - exclusion_string); - } else { + switch (dom.type) { + case LTTNG_DOMAIN_KERNEL: + case LTTNG_DOMAIN_UST: MSG("%s event %s%s created in channel %s", - get_domain_str(dom.type), event_name, - exclusion_string, - print_channel_name(channel_name)); + get_domain_str(dom.type), + event_name, + exclusion_string, + print_channel_name(channel_name)); + break; + case LTTNG_DOMAIN_JUL: + case LTTNG_DOMAIN_LOG4J: + case LTTNG_DOMAIN_PYTHON: + /* + * Don't print the default channel + * name for agent domains. + */ + MSG("%s event %s%s enabled", + get_domain_str(dom.type), + event_name, + exclusion_string); + break; + default: + assert(0); } } free(exclusion_string);