lttng rotate command
[lttng-tools.git] / src / bin / lttng / lttng.c
index b498539c76ea7847baafb177f23ee792f50fa901..c0f5a05ca7cabba6f181bdd0ed75c0fe60567ac4 100644 (file)
 
 #include "command.h"
 
+static const char *help_msg =
+#ifdef LTTNG_EMBED_HELP
+#include <lttng.1.h>
+#else
+NULL
+#endif
+;
+
 /* Variables */
 static char *progname;
 int opt_no_sessiond;
@@ -66,7 +74,6 @@ static struct option long_options[] = {
 /* First level command */
 static struct cmd_struct commands[] =  {
        { "add-context", cmd_add_context},
-       { "calibrate", cmd_calibrate},
        { "create", cmd_create},
        { "destroy", cmd_destroy},
        { "disable-channel", cmd_disable_channels},
@@ -77,6 +84,8 @@ static struct cmd_struct commands[] =  {
        { "list", cmd_list},
        { "load", cmd_load},
        { "metadata", cmd_metadata},
+       { "regenerate", cmd_regenerate},
+       { "rotate", cmd_rotate},
        { "save", cmd_save},
        { "set-session", cmd_set_session},
        { "snapshot", cmd_snapshot},
@@ -85,7 +94,6 @@ static struct cmd_struct commands[] =  {
        { "stop", cmd_stop},
        { "track", cmd_track},
        { "untrack", cmd_untrack},
-       { "help", NULL},
        { "version", cmd_version},
        { "view", cmd_view},
        { NULL, NULL}   /* Array closure */
@@ -242,6 +250,54 @@ end:
        return ret;
 }
 
+static void show_basic_help(void)
+{
+       puts("Usage: lttng [--group=GROUP] [--mi=TYPE] [--no-sessiond | --sessiond-path=PATH]");
+       puts("             [--quiet | -v | -vv | -vvv] COMMAND [COMMAND OPTIONS]");
+       puts("");
+       puts("Available commands:");
+       puts("");
+       puts("Tracing sessions:");
+       puts("  create            " CONFIG_CMD_DESCR_CREATE);
+       puts("  destroy           " CONFIG_CMD_DESCR_DESTROY);
+       puts("  load              " CONFIG_CMD_DESCR_LOAD);
+       puts("  regenerate        " CONFIG_CMD_DESCR_REGENERATE);
+       puts("  save              " CONFIG_CMD_DESCR_SAVE);
+       puts("  set-session       " CONFIG_CMD_DESCR_SET_SESSION);
+       puts("");
+       puts("Channels:");
+       puts("  add-context       " CONFIG_CMD_DESCR_ADD_CONTEXT);
+       puts("  disable-channel   " CONFIG_CMD_DESCR_DISABLE_CHANNEL);
+       puts("  enable-channel    " CONFIG_CMD_DESCR_ENABLE_CHANNEL);
+       puts("");
+       puts("Event rules:");
+       puts("  disable-event     " CONFIG_CMD_DESCR_DISABLE_EVENT);
+       puts("  enable-event      " CONFIG_CMD_DESCR_ENABLE_EVENT);
+       puts("");
+       puts("Status:");
+       puts("  list              " CONFIG_CMD_DESCR_LIST);
+       puts("  status            " CONFIG_CMD_DESCR_STATUS);
+       puts("");
+       puts("Control:");
+       puts("  snapshot          " CONFIG_CMD_DESCR_SNAPSHOT);
+       puts("  start             " CONFIG_CMD_DESCR_START);
+       puts("  stop              " CONFIG_CMD_DESCR_STOP);
+       puts("");
+       puts("Resource tracking:");
+       puts("  track             " CONFIG_CMD_DESCR_TRACK);
+       puts("  untrack           " CONFIG_CMD_DESCR_UNTRACK);
+       puts("");
+       puts("Miscellaneous:");
+       puts("  help              " CONFIG_CMD_DESCR_HELP);
+       puts("  version           " CONFIG_CMD_DESCR_VERSION);
+       puts("  view              " CONFIG_CMD_DESCR_VIEW);
+       puts("");
+       puts("Run `lttng help COMMAND` or `lttng COMMAND --help` to get help with");
+       puts("command COMMAND.");
+       puts("");
+       puts("See `man lttng` for more help with the lttng command.");
+}
+
 /*
  * Parse command line arguments.
  *
@@ -250,7 +306,6 @@ end:
 static int parse_args(int argc, char **argv)
 {
        int opt, ret;
-       char *user;
 
        if (lttng_is_setuid_setgid()) {
                ERR("'%s' is not allowed to be executed as a setuid/setgid binary for security reasons. Aborting.", argv[0]);
@@ -258,6 +313,7 @@ static int parse_args(int argc, char **argv)
        }
 
        if (argc < 2) {
+               show_basic_help();
                clean_exit(EXIT_FAILURE);
        }
 
@@ -268,10 +324,9 @@ static int parse_args(int argc, char **argv)
                        ret = 0;
                        goto end;
                case 'h':
-                       ret = utils_show_man_page(1, "lttng");
-
+                       ret = utils_show_help(1, "lttng", help_msg);
                        if (ret) {
-                               ERR("Cannot view man page lttng(1)");
+                               ERR("Cannot show --help for `lttng`");
                                perror("exec");
                        }
                        goto end;
@@ -298,6 +353,7 @@ static int parse_args(int argc, char **argv)
                        opt_no_sessiond = 1;
                        break;
                case OPT_SESSION_PATH:
+                       free(opt_sessiond_path);
                        opt_sessiond_path = strdup(optarg);
                        if (!opt_sessiond_path) {
                                ret = -1;
@@ -305,6 +361,7 @@ static int parse_args(int argc, char **argv)
                        }
                        break;
                case OPT_RELAYD_PATH:
+                       free(opt_relayd_path);
                        opt_relayd_path = strdup(optarg);
                        if (!opt_relayd_path) {
                                ret = -1;
@@ -336,14 +393,6 @@ static int parse_args(int argc, char **argv)
                goto error;
        }
 
-       /* For Mathieu Desnoyers a.k.a. Dr. Tracing */
-       user = getenv("USER");
-       if (user != NULL && ((strncmp(progname, "drtrace", 7) == 0 ||
-                                       strncmp("compudj", user, 7) == 0))) {
-               MSG("%c[%d;%dmWelcome back Dr Tracing!%c[%dm\n", 27,1,33,27,0);
-       }
-       /* Thanks Mathieu */
-
        /*
         * Handle leftovers which is a first level command with the trailing
         * options.
This page took 0.02543 seconds and 4 git commands to generate.