*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
+ * as published by the Free Software Foundation; only version 2
+ * of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <config.h>
#include <lttng/lttng.h>
{ "add-context", cmd_add_context},
{ "set-session", cmd_set_session},
{ "version", cmd_version},
+ { "calibrate", cmd_calibrate},
{ NULL, NULL} /* Array closure */
};
fprintf(ofp, "\n");
fprintf(ofp, "Commands:\n");
fprintf(ofp, " add-context Add context to event or/and channel\n");
+ fprintf(ofp, " calibrate Quantify LTTng overhead\n");
fprintf(ofp, " create Create tracing session\n");
fprintf(ofp, " destroy Teardown tracing session\n");
fprintf(ofp, " enable-channel Enable tracing channel\n");
* Spawn session daemon and tell
* it to signal us when ready.
*/
- execlp(pathname, "ltt-sessiond", "--sig-parent", "--quiet", NULL);
+ execlp(pathname, "lttng-sessiond", "--sig-parent", "--quiet", NULL);
/* execlp only returns if error happened */
if (errno == ENOENT) {
ERR("No session daemon found. Use --sessiond-path.");
kill(getppid(), SIGTERM); /* unpause parent */
exit(EXIT_FAILURE);
} else if (pid > 0) {
- /* Wait for ltt-sessiond to start */
+ /* Wait for lttng-sessiond to start */
pause();
goto end;
} else {
/* Let's rock and roll */
if (pathname == NULL) {
- ret = asprintf(&alloc_pathname, "ltt-sessiond");
+ ret = asprintf(&alloc_pathname, INSTALL_BIN_PATH "/lttng-sessiond");
if (ret < 0) {
+ perror("asprintf spawn sessiond");
goto end;
}
pathname = alloc_pathname;
return ret;
}
+/*
+ * Check for the "help" option in the argv. If found, return 1 else return 0.
+ */
+static int check_help_command(int argc, char **argv)
+{
+ int i;
+
+ for (i = 0; i < argc; i++) {
+ if ((strncmp(argv[i], "-h", 2) == 0) ||
+ strncmp(argv[i], "--h", 3) == 0) {
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
/*
* parse_args
*
usage(stderr);
goto error;
case 'v':
- opt_verbose = 1;
+ opt_verbose += 1;
break;
case 'q':
opt_quiet = 1;
}
/* Spawn session daemon if needed */
- if (opt_no_sessiond == 0 && (check_sessiond() < 0)) {
+ if (opt_no_sessiond == 0 && check_help_command(argc, argv) == 0 &&
+ (check_sessiond() < 0)) {
goto error;
}
if (ret == -1) {
usage(stderr);
} else {
- ERR("%s", lttng_get_readable_code(ret));
+ ERR("%s", lttng_strerror(ret));
}
goto error;
}