static pid_t sessiond_pid;
static volatile int recv_child_signal;
+char *opt_relayd_path;
+
enum {
+ OPT_RELAYD_PATH,
OPT_SESSION_PATH,
OPT_DUMP_OPTIONS,
OPT_DUMP_COMMANDS,
{"quiet", 0, NULL, 'q'},
{"no-sessiond", 0, NULL, 'n'},
{"sessiond-path", 1, NULL, OPT_SESSION_PATH},
+ {"relayd-path", 1, NULL, OPT_RELAYD_PATH},
{"list-options", 0, NULL, OPT_DUMP_OPTIONS},
{"list-commands", 0, NULL, OPT_DUMP_COMMANDS},
{NULL, 0, NULL, 0}
{ "version", cmd_version},
{ "calibrate", cmd_calibrate},
{ "view", cmd_view},
+ { "snapshot", cmd_snapshot},
+ { "save", cmd_save},
+ { "load", cmd_load},
{ "enable-consumer", cmd_enable_consumer}, /* OBSOLETE */
{ "disable-consumer", cmd_disable_consumer}, /* OBSOLETE */
{ NULL, NULL} /* Array closure */
static void usage(FILE *ofp)
{
- fprintf(ofp, "LTTng Trace Control " VERSION" - " VERSION_NAME"\n\n");
+ fprintf(ofp, "LTTng Trace Control " FULL_VERSION" - " VERSION_NAME"\n\n");
fprintf(ofp, "usage: lttng [OPTIONS] <COMMAND> [<ARGS>]\n");
fprintf(ofp, "\n");
fprintf(ofp, "Options:\n");
fprintf(ofp, " -g, --group NAME Unix tracing group name. (default: tracing)\n");
fprintf(ofp, " -n, --no-sessiond Don't spawn a session daemon\n");
fprintf(ofp, " --sessiond-path PATH Session daemon full path\n");
+ fprintf(ofp, " --relayd-path PATH Relayd daemon full path\n");
fprintf(ofp, "\n");
fprintf(ofp, "Commands:\n");
fprintf(ofp, " add-context Add context to event and/or channel\n");
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");
fprintf(ofp, " view Start trace viewer\n");
+ fprintf(ofp, " save Save session configuration\n");
+ fprintf(ofp, " load Load session configuration\n");
fprintf(ofp, "\n");
fprintf(ofp, "Each command also has its own -h, --help option.\n");
fprintf(ofp, "\n");
static void version(FILE *ofp)
{
- fprintf(ofp, "%s (LTTng Trace Control) " VERSION" - " VERSION_NAME"\n",
+ fprintf(ofp, "%s (LTTng Trace Control) " FULL_VERSION" - " VERSION_NAME"\n",
progname);
}
}
}
-/*
- * list_commands
- *
- * List commands line by line. This is mostly for bash auto completion and to
- * avoid difficult parsing.
- */
-static void list_commands(FILE *ofp)
-{
- int i = 0;
- struct cmd_struct *cmd = NULL;
-
- cmd = &commands[i];
- while (cmd->name != NULL) {
- fprintf(ofp, "%s\n", cmd->name);
- i++;
- cmd = &commands[i];
- }
-}
-
/*
* clean_exit
*/
ret = 0;
goto end;
case 'v':
- lttng_opt_verbose += 1;
+ /* There is only 3 possible level of verbosity. (-vvv) */
+ if (lttng_opt_verbose < 3) {
+ lttng_opt_verbose += 1;
+ }
break;
case 'q':
lttng_opt_quiet = 1;
case OPT_SESSION_PATH:
opt_sessiond_path = strdup(optarg);
break;
+ case OPT_RELAYD_PATH:
+ opt_relayd_path = strdup(optarg);
+ break;
case OPT_DUMP_OPTIONS:
list_options(stdout);
ret = 0;
goto end;
case OPT_DUMP_COMMANDS:
- list_commands(stdout);
+ list_commands(commands, stdout);
ret = 0;
goto end;
default: