update ltt control
[ltt-control.git] / ltt-control / lttctl / lttctl.c
index 11483c99a7002dd5834a76ffa45a6234824ad0b3..bdf6f98ab1be9fc2822e1e61f3c68b1d1d54234f 100644 (file)
@@ -40,6 +40,7 @@ enum trace_ctl_op {
 };
 
 static char *trace_name = NULL;
+static char *trace_type = "relay";
 static char *mode_name = NULL;
 static unsigned subbuf_size = 0;
 static unsigned n_subbufs = 0;
@@ -81,6 +82,7 @@ void show_arguments(void)
        printf("              (optionnaly, you can set LTT_DAEMON\n");
        printf("              and the LTT_FACILITIES env. vars.)\n");
        printf("-t            Trace root path. (ex. /root/traces/example_trace)\n");
+       printf("-T            Type of trace (ex. relay)\n");
        printf("-l            LTT channels root path. (ex. /mnt/relayfs/ltt)\n");
        printf("-z            Size of the subbuffers (will be rounded to next page size)\n");
        printf("-x            Number of subbuffers\n");
@@ -217,6 +219,16 @@ int parse_arguments(int argc, char **argv)
                                                        argn++;
                                                }
                                                break;
+                                       case 'T':
+                                               if(argn+1 < argc) {
+                                                       trace_type = argv[argn+1];
+                                                       argn++;
+                                               } else {
+                                                       printf("Specify a trace type after -T.\n");
+                                                       printf("\n");
+                                                       ret = EINVAL;
+                                               }
+                                               break;
                                        default:
                                                printf("Invalid argument '%s'.\n", argv[argn]);
                                                printf("\n");
@@ -390,7 +402,7 @@ int lttctl_daemon(struct lttctl_handle *handle, char *trace_name)
        strcat(channel_path, trace_name);
 
        
-       ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size, n_subbufs);
+       ret = lttctl_create_trace(handle, trace_name, mode, trace_type, subbuf_size, n_subbufs);
        if(ret != 0) goto create_error;
 
        act.sa_handler = sigchld_handler;
@@ -466,13 +478,13 @@ int main(int argc, char ** argv)
        
        switch(op) {
     case CTL_OP_CREATE_START:
-                       ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size,
+                       ret = lttctl_create_trace(handle, trace_name, mode, trace_type, subbuf_size,
                                                                                                                                n_subbufs);
       if(!ret)
         ret = lttctl_start(handle, trace_name);
       break;
        case CTL_OP_CREATE:
-                       ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size,
+                       ret = lttctl_create_trace(handle, trace_name, mode, trace_type, subbuf_size,
                                                                                                                                n_subbufs);
       break;
                case CTL_OP_DESTROY:
This page took 0.024531 seconds and 4 git commands to generate.