blkparse: split off the timestamp correction code in to a separate function
[blktrace.git] / btt / args.c
index 183012590762987264ecfc2bcc80bf56115cc077..5c5078ab2c81a8f86a5b1a31e647b346a5d9e736 100644 (file)
@@ -29,7 +29,7 @@
 
 #define SETBUFFER_SIZE (64 * 1024)
 
-#define S_OPTS "aAB:d:D:e:hi:I:l:L:m:M:o:p:P:q:Q:s:S:t:T:u:VvXz:"
+#define S_OPTS "aAB:d:D:e:hi:I:l:L:m:M:o:p:P:q:Q:rs:S:t:T:u:VvXz:Z"
 static struct option l_opts[] = {
        {
                .name = "seek-absolute",
@@ -139,6 +139,12 @@ static struct option l_opts[] = {
                .flag = NULL,
                .val = 'Q'
        },
+       {
+               .name = "no-remaps",
+               .has_arg = no_argument,
+               .flag = NULL,
+               .val = 'r'
+       },
        {
                .name = "seeks",
                .has_arg = required_argument,
@@ -181,6 +187,12 @@ static struct option l_opts[] = {
                .flag = NULL,
                .val = 'v'
        },
+       {
+               .name = "do-active",
+               .has_arg = no_argument,
+               .flag = NULL,
+               .val = 'z'
+       },
        {
                .name = "easy-parse-avgs",
                .has_arg = no_argument,
@@ -217,6 +229,7 @@ static char usage_str[] = \
        "[ -P <output name> | --per-io-trees=<output name> ]\n" \
        "[ -q <output name> | --q2c-latencies=<output name> ]\n" \
        "[ -Q <output name> | --active-queue-depth=<output name> ]\n" \
+       "[ -r               | --no-remaps ]\n" \
        "[ -s <output name> | --seeks=<output name> ]\n" \
        "[ -S <interval>    | --iostat-interval=<interval> ]\n" \
        "[ -t <sec>         | --time-start=<sec> ]\n" \
@@ -226,12 +239,12 @@ static char usage_str[] = \
        "[ -v               | --verbose ]\n" \
        "[ -X               | --easy-parse-avgs ]\n" \
        "[ -z <output name> | --q2d-latencies=<output name> ]\n" \
+       "[ -Z               | --do-active\n" \
        "\n";
 
 static void usage(char *prog)
 {
-       fprintf(stderr, "Usage: %s %s %s", prog, bt_timeline_version,
-               usage_str);
+       fprintf(stderr, "Usage: %s %s", prog, usage_str);
 }
 
 static FILE *setup_ofile(char *fname)
@@ -335,6 +348,9 @@ void handle_args(int argc, char *argv[])
                case 'Q':
                        aqd_name = optarg;
                        break;
+               case 'r':
+                       ignore_remaps = 1;
+                       break;
                case 's':
                        seek_name = optarg;
                        break;
@@ -368,6 +384,9 @@ void handle_args(int argc, char *argv[])
                case 'z':
                        q2d_name = optarg;
                        break;
+               case 'Z':
+                       do_p_live = 1;
+                       break;
                default:
                        usage(argv[0]);
                        exit(1);
@@ -390,12 +409,12 @@ void handle_args(int argc, char *argv[])
                rngs_ofp = avgs_ofp = msgs_ofp = stdout;
                easy_parse_avgs = 0;
        } else {
-               rngs_ofp = std_open(output_name, ".dat", "range data");
-               avgs_ofp = std_open(output_name, ".avg", "stats data");
-               msgs_ofp = std_open(output_name, ".msg", "K messages");
+               rngs_ofp = std_open(output_name, "dat", "range data");
+               avgs_ofp = std_open(output_name, "avg", "stats data");
+               msgs_ofp = std_open(output_name, "msg", "K messages");
                if (easy_parse_avgs) {
-                       xavgs_ofp = std_open(output_name, ".xvg",
-                                            "X stats data");
+                       xavgs_ofp = std_open(output_name, "xvg",
+                                            "EZ stats data");
                }
        }