X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fsnapshot.c;h=564651e09c50480c22f45952e02833627f11364e;hb=5e18ec73f48d06fd508fb74386d175d45606d7e2;hp=e973456b9c7786ff6abde3e9db7252759290f50d;hpb=6efe784e2cb20c6698205d5f408bfc173e1cdc57;p=lttng-tools.git diff --git a/src/bin/lttng/commands/snapshot.c b/src/bin/lttng/commands/snapshot.c index e973456b9..564651e09 100644 --- a/src/bin/lttng/commands/snapshot.c +++ b/src/bin/lttng/commands/snapshot.c @@ -195,10 +195,11 @@ static int list_output(void) MSG("Snapshot output list for session %s", current_session_name); while ((s_iter = lttng_snapshot_output_list_get_next(list)) != NULL) { - MSG("%s[%" PRIu32 "] %s: %s", indent4, + MSG("%s[%" PRIu32 "] %s: %s (max-size: %" PRId64 ")", indent4, lttng_snapshot_output_get_id(s_iter), lttng_snapshot_output_get_name(s_iter), - lttng_snapshot_output_get_ctrl_url(s_iter)); + lttng_snapshot_output_get_ctrl_url(s_iter), + lttng_snapshot_output_get_maxsize(s_iter)); output_seen = 1; } @@ -371,6 +372,11 @@ static int record(const char *url) ret = lttng_snapshot_record(current_session_name, output, 0); if (ret < 0) { + if (ret == -LTTNG_ERR_MAX_SIZE_INVALID) { + ERR("The minimum size of a snapshot is computed by multiplying " + "the total amount of streams with the largest subbuffer " + "in the session."); + } goto error; } @@ -446,6 +452,13 @@ int cmd_snapshot(int argc, const char **argv) pc = poptGetContext(NULL, argc, argv, snapshot_opts, 0); poptReadDefaultConfig(pc, 0); + /* TODO: mi support */ + if (lttng_opt_mi) { + ret = -LTTNG_ERR_MI_NOT_IMPLEMENTED; + ERR("mi option not supported"); + goto end; + } + while ((opt = poptGetNextOpt(pc)) != -1) { switch (opt) { case OPT_HELP: @@ -492,10 +505,17 @@ int cmd_snapshot(int argc, const char **argv) ret = handle_command(poptGetArgs(pc)); if (ret < 0) { - if (ret == -LTTNG_ERR_EPERM) { + switch (-ret) { + case LTTNG_ERR_EPERM: ERR("The session needs to be set in no output mode (--no-output)"); + break; + case LTTNG_ERR_SNAPSHOT_NODATA: + WARN("%s", lttng_strerror(ret)); + break; + default: + ERR("%s", lttng_strerror(ret)); + break; } - ERR("%s", lttng_strerror(ret)); goto end; }