X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=lttng%2Flttng.c;h=9ef92a7d418418bf005361084421920c409989e3;hb=e8be5f4f7541ab84521ab4e1722708d2234218c6;hp=c7ff4edde334dd5131e1b207c902498cc8fc5ce1;hpb=e8f07c636c9943a0e2a48113bb8135a6c4f5ebd7;p=lttng-tools.git diff --git a/lttng/lttng.c b/lttng/lttng.c index c7ff4edde..9ef92a7d4 100644 --- a/lttng/lttng.c +++ b/lttng/lttng.c @@ -42,6 +42,7 @@ static char *progname; static int process_client_opt(void); static int process_opt_list_apps(void); static int process_opt_list_sessions(void); +static int process_opt_create_session(void); static void sighandler(int sig); static int set_signal_handler(void); @@ -55,6 +56,7 @@ static int set_signal_handler(void); static int process_client_opt(void) { int ret; + uuid_t uuid; /* Connect to the session daemon */ ret = lttng_connect_sessiond(); @@ -76,6 +78,25 @@ static int process_client_opt(void) } } + if (opt_create_session != NULL) { + ret = process_opt_create_session(); + if (ret < 0) { + goto end; + } + } + + if (opt_destroy_session != NULL) { + uuid_parse(opt_destroy_session, uuid); + ret = lttng_destroy_session(&uuid); + if (ret < 0) { + goto end; + } + } + + if (opt_session_uuid != NULL) { + lttng_set_current_session_uuid(opt_session_uuid); + } + return 0; end: @@ -83,6 +104,32 @@ end: return ret; } +/* + * process_opt_create_session + * + * Create a new session using the name pass + * to the command line. + */ +static int process_opt_create_session(void) +{ + int ret; + uuid_t session_id; + char str_uuid[37]; + + ret = lttng_create_session(opt_create_session, &session_id); + if (ret < 0) { + goto error; + } + + uuid_unparse(session_id, str_uuid); + + MSG("Session created:"); + MSG(" %s (%s)", opt_create_session, str_uuid); + +error: + return ret; +} + /* * process_opt_list_sessions *