Fix enable-channel that did not handle correctly lttng domains
[lttng-tools.git] / lttng / commands / enable_channels.c
index bd732f22f20d4e4979323c1c75a32f1e0c77dee9..13511cc869803097edff9bc2542a35218b38e870 100644 (file)
@@ -84,19 +84,27 @@ static void usage(FILE *ofp)
        fprintf(ofp, "  -p, --pid PID            If -u, apply on a specific PID\n");
        fprintf(ofp, "\n");
        fprintf(ofp, "Channel options:\n");
-       fprintf(ofp, "      --discard            Discard event when buffers are full (default)\n");
-       fprintf(ofp, "      --overwrite          Flight recorder mode\n");
-       fprintf(ofp, "      --subbuf-size        Subbuffer size in bytes (default: 4096)\n");
-       fprintf(ofp, "      --num-subbuf         Number of subbufers (default: 2)\n");
-       fprintf(ofp, "      --switch-timer       Switch timer interval in usec (default: 0)\n");
-       fprintf(ofp, "      --read-timer         Read timer interval in usec (default: 200)\n");
+       fprintf(ofp, "      --discard            Discard event when buffers are full%s\n",
+               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, "                               (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",
+               DEFAULT_CHANNEL_SWITCH_TIMER);
+       fprintf(ofp, "      --read-timer         Read timer interval in usec (default: %u)\n",
+               DEFAULT_CHANNEL_READ_TIMER);
        fprintf(ofp, "\n");
 }
 
 /*
- *  enable_channel
- *
- *  Adding channel using the lttng API.
+ * Adding channel using the lttng API.
  */
 static int enable_channel(char *session_name)
 {
@@ -106,6 +114,14 @@ static int enable_channel(char *session_name)
 
        if (opt_kernel) {
                dom.type = LTTNG_DOMAIN_KERNEL;
+       } else if (opt_pid != 0) {
+               dom.type = LTTNG_DOMAIN_UST_PID;
+               dom.attr.pid = opt_pid;
+               DBG("PID %d set to lttng handle", opt_pid);
+       } else {
+               ERR("Please specify a tracer (--kernel or --userspace)");
+               ret = CMD_NOT_IMPLEMENTED;
+               goto error;
        }
 
        handle = lttng_create_handle(session_name, &dom);
@@ -114,35 +130,21 @@ static int enable_channel(char *session_name)
                goto error;
        }
 
-       /* Strip event list */
+       /* Strip channel list (format: chan1,chan2,...) */
        channel_name = strtok(opt_channels, ",");
        while (channel_name != NULL) {
-               /* Kernel tracer action */
-               if (opt_kernel) {
-                       DBG("Enabling kernel channel %s", channel_name);
+               /* Copy channel name and normalize it */
+               strncpy(chan.name, channel_name, NAME_MAX);
+               chan.name[NAME_MAX - 1] = '\0';
 
-                       /* Copy channel name and normalize it */
-                       strncpy(chan.name, channel_name, NAME_MAX);
-                       chan.name[NAME_MAX - 1] = '\0';
+               DBG("Enabling channel %s", channel_name);
 
-                       ret = lttng_enable_channel(handle, &chan);
-                       if (ret < 0) {
-                               goto error;
-                       } else {
-                               MSG("Kernel channel enabled %s", channel_name);
-                       }
-               } else if (opt_userspace) {             /* User-space tracer action */
-                       /*
-                        * TODO: Waiting on lttng UST 2.0
-                        */
-                       if (opt_pid_all) {
-                       } else if (opt_pid != 0) {
-                       }
-                       ret = CMD_NOT_IMPLEMENTED;
+               ret = lttng_enable_channel(handle, &chan);
+               if (ret < 0) {
                        goto error;
                } else {
-                       ERR("Please specify a tracer (--kernel or --userspace)");
-                       goto error;
+                       MSG("Channel enabled %s for session %s",
+                                       channel_name, session_name);
                }
 
                /* Next event */
@@ -156,9 +158,7 @@ error:
 }
 
 /*
- *  init_channel_config
- *
- *  Default value for channel configuration.
+ * Default value for channel configuration.
  */
 static void init_channel_config(void)
 {
@@ -184,7 +184,7 @@ static void init_channel_config(void)
 }
 
 /*
- *  Add channel to trace session
+ * Add channel to trace session
  */
 int cmd_enable_channels(int argc, const char **argv)
 {
This page took 0.024264 seconds and 4 git commands to generate.