Fix: use biggest subbuffer size for snapshot max-size
[lttng-tools.git] / src / bin / lttng / commands / snapshot.c
index e973456b9c7786ff6abde3e9db7252759290f50d..2d250afc37cfb01df040159936dcbef24444f90d 100644 (file)
@@ -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;
        }
 
@@ -492,10 +498,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;
        }
 
This page took 0.023908 seconds and 4 git commands to generate.