X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Flttng.c;h=5755db6379daa5466cd1542a6709bfb97318e724;hb=57f272edb1b4ccb8869e3f5b69eb5461bcb56101;hp=d3aaa8424683b58c189d2c8f9afc894f5d937bf2;hpb=b8ec3da8333ea4489eaee6b3060287adc666a729;p=lttng-tools.git diff --git a/src/bin/lttng/lttng.c b/src/bin/lttng/lttng.c index d3aaa8424..5755db637 100644 --- a/src/bin/lttng/lttng.c +++ b/src/bin/lttng/lttng.c @@ -47,6 +47,7 @@ enum { /* Getopt options. No first level command. */ static struct option long_options[] = { + {"version", 0, NULL, 'V'}, {"help", 0, NULL, 'h'}, {"group", 1, NULL, 'g'}, {"verbose", 0, NULL, 'v'}, @@ -74,8 +75,9 @@ static struct cmd_struct commands[] = { { "version", cmd_version}, { "calibrate", cmd_calibrate}, { "view", cmd_view}, - { "enable-consumer", cmd_enable_consumer}, /* OBSELETE */ - { "disable-consumer", cmd_disable_consumer}, /*OBSELETE */ + { "snapshot", cmd_snapshot}, + { "enable-consumer", cmd_enable_consumer}, /* OBSOLETE */ + { "disable-consumer", cmd_disable_consumer}, /* OBSOLETE */ { NULL, NULL} /* Array closure */ }; @@ -85,6 +87,7 @@ static void usage(FILE *ofp) fprintf(ofp, "usage: lttng [OPTIONS] []\n"); fprintf(ofp, "\n"); fprintf(ofp, "Options:\n"); + fprintf(ofp, " -V, --version Show version\n"); fprintf(ofp, " -h, --help Show this help\n"); fprintf(ofp, " --list-options Simple listing of lttng options\n"); fprintf(ofp, " --list-commands Simple listing of lttng commands\n"); @@ -105,6 +108,7 @@ static void usage(FILE *ofp) fprintf(ofp, " disable-event Disable tracing event\n"); fprintf(ofp, " list List possible tracing options\n"); fprintf(ofp, " set-session Set current session name\n"); + fprintf(ofp, " snapshot Snapshot buffers of current session name\n"); fprintf(ofp, " start Start tracing\n"); fprintf(ofp, " stop Stop tracing\n"); fprintf(ofp, " version Show version information\n"); @@ -116,6 +120,12 @@ static void usage(FILE *ofp) fprintf(ofp, "See http://lttng.org for updates, bug reports and news.\n"); } +static void version(FILE *ofp) +{ + fprintf(ofp, "%s (LTTng Trace Control) " VERSION" - " VERSION_NAME"\n", + progname); +} + /* * list_options * @@ -272,7 +282,7 @@ static int handle_command(int argc, char **argv) } /* Command not found */ - ret = -1; + ret = CMD_UNDEFINED; end: return ret; @@ -426,8 +436,12 @@ static int parse_args(int argc, char **argv) clean_exit(EXIT_FAILURE); } - while ((opt = getopt_long(argc, argv, "+hnvqg:", long_options, NULL)) != -1) { + while ((opt = getopt_long(argc, argv, "+Vhnvqg:", long_options, NULL)) != -1) { switch (opt) { + case 'V': + version(stdout); + ret = 0; + goto end; case 'h': usage(stdout); ret = 0; @@ -499,6 +513,9 @@ static int parse_args(int argc, char **argv) case CMD_FATAL: ERR("Fatal error"); break; + case CMD_UNSUPPORTED: + ERR("Unsupported command"); + break; case -1: usage(stderr); ret = 1;