batchtest with tracecontext shown no more time going back
[lttv.git] / ltt / branches / poly / lttctl / lttctl.c
index e4e2908e8df5ce12642742fbe974be5f225edafb..a2d933d3341501e6c64f1de308d7a9cfc68c339a 100644 (file)
@@ -8,6 +8,10 @@
  *     Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
  */
 
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
 #include <libltt/libltt.h>
 #include <errno.h>
 #include <stdio.h>
@@ -27,6 +31,8 @@ enum trace_ctl_op {
 
 static char *trace_name = NULL;
 static char *mode_name = NULL;
+static unsigned subbuf_size = 0;
+static unsigned n_subbufs = 0;
 static enum trace_mode mode = LTT_TRACE_NORMAL;
 static enum trace_ctl_op op = CTL_OP_NONE;
 static char *channel_root = NULL;
@@ -60,6 +66,8 @@ void show_arguments(void)
        printf("              (optionnaly, you can set LTT_DAEMON env. var.)\n");
        printf("-t            Trace root path. (ex. /root/traces/example_trace)\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");
        printf("\n");
 }
 
@@ -113,7 +121,7 @@ int parse_arguments(int argc, char **argv)
                                                                ret = -1;
                                                        }
                                                } else {
-                                                               printf("Specify a mode after -c.\n", argv[argn]);
+                                                               printf("Specify a mode after -c.\n");
                                                                printf("\n");
                                                                ret = -1;
                                                }
@@ -127,6 +135,26 @@ int parse_arguments(int argc, char **argv)
                                        case 'q':
                                                op = CTL_OP_STOP;
                                                break;
+                                       case 'z':
+                                               if(argn+1 < argc) {
+                                                       subbuf_size = (unsigned)atoi(argv[argn+1]);
+                                                       argn++;
+                                               } else {
+                                                       printf("Specify a number of subbuffers after -z.\n");
+                                                       printf("\n");
+                                                       ret = -1;
+                                               }
+                                               break;
+                                       case 'x':
+                                               if(argn+1 < argc) {
+                                                       n_subbufs = (unsigned)atoi(argv[argn+1]);
+                                                       argn++;
+                                               } else {
+                                                       printf("Specify a subbuffer size after -x.\n");
+                                                       printf("\n");
+                                                       ret = -1;
+                                               }
+                                               break;
                                        case 'd':
                                                op = CTL_OP_DAEMON;
                                                break;
@@ -135,7 +163,7 @@ int parse_arguments(int argc, char **argv)
                                                        trace_root = argv[argn+1];
                                                        argn++;
                                                } else {
-                                                       printf("Specify a trace root path after -t.\n", argv[argn]);
+                                                       printf("Specify a trace root path after -t.\n");
                                                        printf("\n");
                                                        ret = -1;
                                                }
@@ -145,7 +173,7 @@ int parse_arguments(int argc, char **argv)
                                                        channel_root = argv[argn+1];
                                                        argn++;
                                                } else {
-                                                       printf("Specify a channel root path after -l.\n", argv[argn]);
+                                                       printf("Specify a channel root path after -l.\n");
                                                        printf("\n");
                                                        ret = -1;
                                                }
@@ -215,7 +243,7 @@ int lttctl_daemon(struct lttctl_handle *handle, char *trace_name)
        strcat(channel_path, trace_name);
 
        
-       ret = lttctl_create_trace(handle, trace_name, mode);
+       ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size, n_subbufs);
        if(ret != 0) goto create_error;
 
        act.sa_handler = handler;
@@ -279,8 +307,8 @@ int main(int argc, char ** argv)
        
        switch(op) {
        case CTL_OP_CREATE:
-                       ret = lttctl_create_trace(handle, trace_name, mode);
-                       break;
+                       ret = lttctl_create_trace(handle, trace_name, mode, subbuf_size,
+                                                                                                                               n_subbufs);
                case CTL_OP_DESTROY:
                        ret = lttctl_destroy_trace(handle, trace_name);
                        break;
This page took 0.024021 seconds and 4 git commands to generate.