From 5440dc4282b3186641a8886dc05f6cf5641b5191 Mon Sep 17 00:00:00 2001 From: David Goulet Date: Thu, 30 Jun 2011 16:53:59 -0400 Subject: [PATCH] Add session name option to all command Signed-off-by: David Goulet --- lttng/commands/add_channel.c | 5 ++++- lttng/commands/add_context.c | 5 ++++- lttng/commands/disable_channels.c | 5 ++++- lttng/commands/disable_events.c | 5 ++++- lttng/commands/enable_channels.c | 5 ++++- lttng/commands/enable_events.c | 5 ++++- lttng/utils.c | 14 +++++++++----- lttng/utils.h | 2 +- 8 files changed, 34 insertions(+), 12 deletions(-) diff --git a/lttng/commands/add_channel.c b/lttng/commands/add_channel.c index 0fb0e2593..eeb4b2534 100644 --- a/lttng/commands/add_channel.c +++ b/lttng/commands/add_channel.c @@ -32,6 +32,7 @@ static char *opt_channel_name; static char *opt_kernel; static char *opt_cmd_name; +static char *opt_session_name; static int opt_pid_all; static int opt_userspace; static pid_t opt_pid; @@ -51,6 +52,7 @@ enum { static struct poptOption long_options[] = { /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ {"help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0}, + {"session", 's', POPT_ARG_STRING, &opt_session_name, 0, 0, 0}, {"kernel", 'k', POPT_ARG_VAL, &opt_kernel, 1, 0, 0}, {"userspace", 'u', POPT_ARG_STRING | POPT_ARGFLAG_OPTIONAL, 0, OPT_USERSPACE, 0, 0}, {"all", 0, POPT_ARG_VAL, &opt_pid_all, 1, 0, 0}, @@ -72,6 +74,7 @@ static void usage(FILE *ofp) fprintf(ofp, "usage: lttng add-channel NAME [options] [channel_options]\n"); fprintf(ofp, "\n"); fprintf(ofp, " -h, --help Show this help\n"); + fprintf(ofp, " -s, --session Apply on session name\n"); fprintf(ofp, " -k, --kernel Apply on the kernel tracer\n"); fprintf(ofp, " -u, --userspace [CMD] Apply on the user-space tracer\n"); fprintf(ofp, " --all If -u, apply on all traceable apps\n"); @@ -96,7 +99,7 @@ static int add_channel(void) { int ret = CMD_SUCCESS; - if (set_session_name() < 0) { + if (set_session_name(opt_session_name) < 0) { ret = CMD_ERROR; goto error; } diff --git a/lttng/commands/add_context.c b/lttng/commands/add_context.c index afec9dab7..f9094adc0 100644 --- a/lttng/commands/add_context.c +++ b/lttng/commands/add_context.c @@ -32,6 +32,7 @@ static char *opt_event_name; static char *opt_channel_name; static char *opt_perf_name; +static char *opt_session_name; static int *opt_kernel; static int opt_pid_all; static int opt_userspace; @@ -48,6 +49,7 @@ enum { static struct poptOption long_options[] = { /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ {"help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0}, + {"session", 's', POPT_ARG_STRING, &opt_session_name, 0, 0, 0}, {"channel", 'c', POPT_ARG_STRING, &opt_channel_name, 0, 0, 0}, {"event", 'e', POPT_ARG_STRING, &opt_event_name, 0, 0, 0}, {"kernel", 'k', POPT_ARG_VAL, &opt_kernel, 1, 0, 0}, @@ -70,6 +72,7 @@ static void usage(FILE *ofp) fprintf(ofp, "\n"); fprintf(ofp, "Options:\n"); fprintf(ofp, " -h, --help Show this help\n"); + fprintf(ofp, " -s, --session Apply on session name\n"); fprintf(ofp, " -c, --channel NAME Apply on channel\n"); fprintf(ofp, " -e, --event NAME Apply on event\n"); fprintf(ofp, " -k, --kernel Apply for the kernel tracer\n"); @@ -123,7 +126,7 @@ static int add_context(void) int ret = CMD_SUCCESS; struct lttng_kernel_context context; - if (set_session_name() < 0) { + if (set_session_name(opt_session_name) < 0) { ret = CMD_ERROR; goto error; } diff --git a/lttng/commands/disable_channels.c b/lttng/commands/disable_channels.c index ad2f0bf08..4235fbf86 100644 --- a/lttng/commands/disable_channels.c +++ b/lttng/commands/disable_channels.c @@ -31,6 +31,7 @@ static char *opt_channels; static char *opt_kernel; +static char *opt_session_name; static int opt_pid_all; static int opt_userspace; static pid_t opt_pid; @@ -43,6 +44,7 @@ enum { static struct poptOption long_options[] = { /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ {"help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0}, + {"session", 's', POPT_ARG_STRING, &opt_session_name, 0, 0, 0}, {"kernel", 'k', POPT_ARG_VAL, &opt_kernel, 1, 0, 0}, {"userspace", 'u', POPT_ARG_NONE, 0, OPT_USERSPACE, 0, 0}, {"all", 0, POPT_ARG_VAL, &opt_pid_all, 1, 0, 0}, @@ -58,6 +60,7 @@ static void usage(FILE *ofp) fprintf(ofp, "usage: lttng disable-channel NAME[,NAME2,...] [options]\n"); fprintf(ofp, "\n"); fprintf(ofp, " -h, --help Show this help\n"); + fprintf(ofp, " -s, --session Apply on session name\n"); fprintf(ofp, " -k, --kernel Apply for the kernel tracer\n"); fprintf(ofp, " -u, --userspace Apply for the user-space tracer\n"); fprintf(ofp, " --all If -u, apply on all traceable apps\n"); @@ -75,7 +78,7 @@ static int disable_channels(void) int ret = CMD_SUCCESS; char *channel_name; - if (set_session_name() < 0) { + if (set_session_name(opt_session_name) < 0) { ret = CMD_ERROR; goto error; } diff --git a/lttng/commands/disable_events.c b/lttng/commands/disable_events.c index 5bfe5d55b..04a8c0a62 100644 --- a/lttng/commands/disable_events.c +++ b/lttng/commands/disable_events.c @@ -33,6 +33,7 @@ static char *opt_event_list; static char *opt_kernel; static char *opt_cmd_name; static char *opt_channel_name; +static char *opt_session_name; static int opt_pid_all; static int opt_userspace; static int opt_disable_all; @@ -46,6 +47,7 @@ enum { static struct poptOption long_options[] = { /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ {"help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0}, + {"session", 's', POPT_ARG_STRING, &opt_session_name, 0, 0, 0}, {"all-events", 'a', POPT_ARG_VAL, &opt_disable_all, 1, 0, 0}, {"channel", 'c', POPT_ARG_STRING, &opt_channel_name, 0, 0, 0}, {"kernel", 'k', POPT_ARG_VAL, &opt_kernel, 1, 0, 0}, @@ -63,6 +65,7 @@ static void usage(FILE *ofp) fprintf(ofp, "usage: lttng disable-event NAME[,NAME2,...] [options]\n"); fprintf(ofp, "\n"); fprintf(ofp, " -h, --help Show this help\n"); + fprintf(ofp, " -s, --session Apply on session name\n"); fprintf(ofp, " -c, --channel Apply on this channel\n"); fprintf(ofp, " -a, --all-events Enable all tracepoints\n"); fprintf(ofp, " -k, --kernel Apply for the kernel tracer\n"); @@ -83,7 +86,7 @@ static int disable_events(void) char *event_name, *channel_name; struct lttng_event ev; - if (set_session_name() < 0) { + if (set_session_name(opt_session_name) < 0) { ret = CMD_ERROR; goto error; } diff --git a/lttng/commands/enable_channels.c b/lttng/commands/enable_channels.c index f8ad58d54..7dbec903a 100644 --- a/lttng/commands/enable_channels.c +++ b/lttng/commands/enable_channels.c @@ -31,6 +31,7 @@ static char *opt_channels; static char *opt_kernel; +static char *opt_session_name; static int opt_pid_all; static int opt_userspace; static pid_t opt_pid; @@ -43,6 +44,7 @@ enum { static struct poptOption long_options[] = { /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ {"help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0}, + {"session", 's', POPT_ARG_STRING, &opt_session_name, 0, 0, 0}, {"kernel", 'k', POPT_ARG_VAL, &opt_kernel, 1, 0, 0}, {"userspace", 'u', POPT_ARG_NONE, 0, OPT_USERSPACE, 0, 0}, {"all", 0, POPT_ARG_VAL, &opt_pid_all, 1, 0, 0}, @@ -58,6 +60,7 @@ static void usage(FILE *ofp) fprintf(ofp, "usage: lttng enable-channel NAME[,NAME2,...] [options]\n"); fprintf(ofp, "\n"); fprintf(ofp, " -h, --help Show this help\n"); + fprintf(ofp, " -s, --session Apply on session name\n"); fprintf(ofp, " -k, --kernel Apply for the kernel tracer\n"); fprintf(ofp, " -u, --userspace Apply for the user-space tracer\n"); fprintf(ofp, " --all If -u, apply on all traceable apps\n"); @@ -75,7 +78,7 @@ static int enable_channels(void) int ret = CMD_SUCCESS; char *channel_name; - if (set_session_name() < 0) { + if (set_session_name(opt_session_name) < 0) { ret = CMD_ERROR; goto error; } diff --git a/lttng/commands/enable_events.c b/lttng/commands/enable_events.c index cde0cc48c..b39a9f461 100644 --- a/lttng/commands/enable_events.c +++ b/lttng/commands/enable_events.c @@ -33,6 +33,7 @@ static char *opt_event_list; static int opt_event_type; static char *opt_kernel; static char *opt_cmd_name; +static char *opt_session_name; static int opt_pid_all; static int opt_userspace; static int opt_enable_all; @@ -53,6 +54,7 @@ enum { static struct poptOption long_options[] = { /* longName, shortName, argInfo, argPtr, value, descrip, argDesc */ {"help", 'h', POPT_ARG_NONE, 0, OPT_HELP, 0, 0}, + {"session", 's', POPT_ARG_STRING, &opt_session_name, 0, 0, 0}, {"all-events", 'a', POPT_ARG_VAL, &opt_enable_all, 1, 0, 0}, {"channel", 'c', POPT_ARG_STRING, &opt_channel_name, 0, 0, 0}, {"kernel", 'k', POPT_ARG_VAL, &opt_kernel, 1, 0, 0}, @@ -74,6 +76,7 @@ static void usage(FILE *ofp) fprintf(ofp, "usage: lttng enable-event NAME[,NAME2,...] [options] [event_options]\n"); fprintf(ofp, "\n"); fprintf(ofp, " -h, --help Show this help\n"); + fprintf(ofp, " -s, --session Apply on session name\n"); fprintf(ofp, " -c, --channel Apply on this channel\n"); fprintf(ofp, " -a, --all-events Enable all tracepoints\n"); fprintf(ofp, " -k, --kernel Apply for the kernel tracer\n"); @@ -100,7 +103,7 @@ static int enable_events(void) char *event_name, *channel_name; struct lttng_event ev; - if (set_session_name() < 0) { + if (set_session_name(opt_session_name) < 0) { ret = CMD_ERROR; goto error; } diff --git a/lttng/utils.c b/lttng/utils.c index f9edb173b..109532a4f 100644 --- a/lttng/utils.c +++ b/lttng/utils.c @@ -82,15 +82,19 @@ error: * * Get session name and set it for the lttng control lib. */ -int set_session_name(void) +int set_session_name(char *name) { int ret; char *session_name; - session_name = get_session_name(); - if (session_name == NULL) { - ret = -1; - goto error; + if (name != NULL) { + session_name = name; + } else { + session_name = get_session_name(); + if (session_name == NULL) { + ret = -1; + goto error; + } } lttng_set_session_name(session_name); diff --git a/lttng/utils.h b/lttng/utils.h index 90f7f46b1..5b9a5e6e4 100644 --- a/lttng/utils.h +++ b/lttng/utils.h @@ -21,6 +21,6 @@ char *get_config_file_path(void); char *get_session_name(void); -int set_session_name(void); +int set_session_name(char *name); #endif /* _LTTNG_UTILS_H */ -- 2.34.1