Fix: documented number of subbuffers is incorrect
[lttng-tools.git] / src / bin / lttng / commands / enable_channels.c
index 19b6b260bd7065e0b6490d8e247036483ecb14c6..4a737d28d9ae07a4cb2731d74f3c1bffbffa1e5e 100644 (file)
@@ -84,15 +84,15 @@ static void usage(FILE *ofp)
        fprintf(ofp, "\n");
        fprintf(ofp, "  -h, --help               Show this help\n");
        fprintf(ofp, "      --list-options       Simple listing of options\n");
-       fprintf(ofp, "  -s, --session            Apply on session name\n");
-       fprintf(ofp, "  -k, --kernel             Apply on the kernel tracer\n");
+       fprintf(ofp, "  -s, --session            Apply to session name\n");
+       fprintf(ofp, "  -k, --kernel             Apply to the kernel tracer\n");
 #if 0
-       fprintf(ofp, "  -u, --userspace [CMD]    Apply for the user-space tracer\n");
+       fprintf(ofp, "  -u, --userspace [CMD]    Apply to the user-space tracer\n");
        fprintf(ofp, "                           If no CMD, the domain used is UST global\n");
        fprintf(ofp, "                           or else the domain is UST EXEC_NAME\n");
        fprintf(ofp, "  -p, --pid PID            If -u, apply to specific PID (domain: UST PID)\n");
 #else
-       fprintf(ofp, "  -u, --userspace          Apply for the user-space tracer\n");
+       fprintf(ofp, "  -u, --userspace          Apply to the user-space tracer\n");
 #endif
        fprintf(ofp, "\n");
        fprintf(ofp, "Channel options:\n");
@@ -100,17 +100,20 @@ static void usage(FILE *ofp)
                DEFAULT_CHANNEL_OVERWRITE ? "" : " (default)");
        fprintf(ofp, "      --overwrite          Flight recorder mode%s\n",
                DEFAULT_CHANNEL_OVERWRITE ? " (default)" : "");
-       fprintf(ofp, "      --subbuf-size        Subbuffer size in bytes\n");
+       fprintf(ofp, "      --subbuf-size SIZE   Subbuffer size in bytes\n");
        fprintf(ofp, "                               (default: %u, kernel default: %u)\n",
                DEFAULT_CHANNEL_SUBBUF_SIZE,
                DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE);
-       fprintf(ofp, "      --num-subbuf         Number of subbufers\n");
-       fprintf(ofp, "                               (default: %u, kernel default: %u)\n",
-               DEFAULT_CHANNEL_SUBBUF_NUM,
-               DEFAULT_KERNEL_CHANNEL_SUBBUF_NUM);
-       fprintf(ofp, "      --switch-timer       Switch timer interval in usec (default: %u)\n",
+       fprintf(ofp, "                               Needs to be a power of 2 for\n");
+        fprintf(ofp, "                               kernel and ust tracers\n");
+       fprintf(ofp, "      --num-subbuf NUM     Number of subbufers\n");
+       fprintf(ofp, "                               (default: %u)\n",
+               DEFAULT_CHANNEL_SUBBUF_NUM);
+       fprintf(ofp, "                               Needs to be a power of 2 for\n");
+        fprintf(ofp, "                               kernel and ust tracers\n");
+       fprintf(ofp, "      --switch-timer USEC  Switch timer interval in usec (default: %u)\n",
                DEFAULT_CHANNEL_SWITCH_TIMER);
-       fprintf(ofp, "      --read-timer         Read timer interval in usec (default: %u)\n",
+       fprintf(ofp, "      --read-timer USEC    Read timer interval in usec (default: %u)\n",
                DEFAULT_CHANNEL_READ_TIMER);
        fprintf(ofp, "\n");
 }
@@ -151,10 +154,12 @@ static void set_default_attr(struct lttng_domain *dom)
  */
 static int enable_channel(char *session_name)
 {
-       int ret = CMD_SUCCESS;
+       int ret = CMD_SUCCESS, warn = 0;
        char *channel_name;
        struct lttng_domain dom;
 
+       memset(&dom, 0, sizeof(dom));
+
        /* Create lttng domain */
        if (opt_kernel) {
                dom.type = LTTNG_DOMAIN_KERNEL;
@@ -185,7 +190,9 @@ static int enable_channel(char *session_name)
 
                ret = lttng_enable_channel(handle, &chan);
                if (ret < 0) {
-                       goto error;
+                       ERR("Channel %s: %s (session %s)", channel_name,
+                                       lttng_strerror(ret), session_name);
+                       warn = 1;
                } else {
                        MSG("%s channel %s enabled for session %s",
                                        opt_kernel ? "Kernel" : "UST", channel_name,
@@ -196,7 +203,13 @@ static int enable_channel(char *session_name)
                channel_name = strtok(NULL, ",");
        }
 
+       ret = CMD_SUCCESS;
+
 error:
+       if (warn) {
+               ret = CMD_WARNING;
+       }
+
        lttng_destroy_handle(handle);
 
        return ret;
@@ -295,6 +308,9 @@ int cmd_enable_channels(int argc, const char **argv)
        ret = enable_channel(session_name);
 
 end:
+       if (!opt_session_name && session_name) {
+               free(session_name);
+       }
        poptFreeContext(pc);
        return ret;
 }
This page took 0.024813 seconds and 4 git commands to generate.