X-Git-Url: http://git.efficios.com/?p=lttng-tools.git;a=blobdiff_plain;f=lttng%2Flttng.c;h=69b563d4a643eb80db6718673602ebe67efb9c4b;hp=3e5f1b187f238049bc8c81a01fafbd161083888f;hb=734f79bf717d87817623d382c59086dc9e8ef610;hpb=36c0262a92b315ba2c20ea4c5f56ba0f94538c3c diff --git a/lttng/lttng.c b/lttng/lttng.c index 3e5f1b187..69b563d4a 100644 --- a/lttng/lttng.c +++ b/lttng/lttng.c @@ -23,6 +23,7 @@ #include #include #include +#include #include @@ -71,6 +72,7 @@ static struct cmd_struct commands[] = { { "add-context", cmd_add_context}, { "set-session", cmd_set_session}, { "version", cmd_version}, + { "calibrate", cmd_calibrate}, { NULL, NULL} /* Array closure */ }; @@ -91,6 +93,7 @@ static void usage(FILE *ofp) 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"); @@ -284,7 +287,7 @@ static int spawn_sessiond(char *pathname) * 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."); @@ -294,7 +297,7 @@ static int spawn_sessiond(char *pathname) 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 { @@ -336,7 +339,7 @@ static int check_sessiond(void) /* Let's rock and roll */ if (pathname == NULL) { - ret = asprintf(&alloc_pathname, INSTALL_BIN_PATH "/ltt-sessiond"); + ret = asprintf(&alloc_pathname, INSTALL_BIN_PATH "/lttng-sessiond"); if (ret < 0) { perror("asprintf spawn sessiond"); goto end; @@ -356,6 +359,23 @@ end: 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 * @@ -377,7 +397,7 @@ static int parse_args(int argc, char **argv) usage(stderr); goto error; case 'v': - opt_verbose = 1; + opt_verbose += 1; break; case 'q': opt_quiet = 1; @@ -411,7 +431,8 @@ static int parse_args(int argc, char **argv) } /* 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; } @@ -430,7 +451,7 @@ static int parse_args(int argc, char **argv) if (ret == -1) { usage(stderr); } else { - ERR("%s", lttng_get_readable_code(ret)); + ERR("%s", lttng_strerror(ret)); } goto error; }