After parsing the results file, Getstats runs several default
transformations as described in Default Function Library. These
transformations essentially combine the results from several tests, and produce
the derived quantities (e.g., Wait time). If we want to see these raw values
we can use the --dump transform. The following output is produced by
getstats --dump ext2:1.res:
epoch elapsed user sys io cpu
1 6.138 1.700 2.720 1.718 72.007
2 6.026 1.820 2.640 1.566 74.015
3 5.855 1.590 2.800 1.465 74.981
4 5.983 1.680 2.750 1.553 74.045
5 6.063 1.730 2.700 1.633 73.071
6 6.180 1.680 2.790 1.710 72.331
7 6.043 1.510 2.880 1.653 72.645
8 6.089 1.680 2.770 1.639 73.086
9 6.063 1.630 2.820 1.613 73.396
10 6.113 1.730 2.710 1.673 72.637
ext2:1.res: High z-score of 2.21853230276562 for elapsed in epoch 3.
ext2:1.res: High z-score of 2.03783855068 for io in epoch 3.
ext2:1.res
NAME COUNT MEAN MEDIAN LOW HIGH MIN MAX SDEV% HW%
Elapsed 10 6.055 6.063 5.991 6.120 5.855 6.180 1.491 1.067
System 10 2.758 2.760 2.709 2.807 2.640 2.880 2.499 1.788
User 10 1.675 1.680 1.615 1.735 1.510 1.820 5.044 3.609
Wait 10 1.622 1.636 1.567 1.677 1.465 1.718 4.759 3.404
CPU% 10 73.221 73.079 72.572 73.871 72.007 74.981 1.240 0.887
As we can see the tabular report is still printed. This is because the
standard transforms are being executed before and after the
--dump transformation. To solve this problem, we can simply
exit after the dump by adding --eval "exit(0);". The complete
command getstats --dump --eval "exit(0);" ext2:1.res produces:
epoch elapsed user sys io cpu
1 6.138 1.700 2.720 1.718 72.007
2 6.026 1.820 2.640 1.566 74.015
3 5.855 1.590 2.800 1.465 74.981
4 5.983 1.680 2.750 1.553 74.045
5 6.063 1.730 2.700 1.633 73.071
6 6.180 1.680 2.790 1.710 72.331
7 6.043 1.510 2.880 1.653 72.645
8 6.089 1.680 2.770 1.639 73.086
9 6.063 1.630 2.820 1.613 73.396
10 6.113 1.730 2.710 1.673 72.637
This output, however, is post processed. To produce raw output, we need
to disable the standard transforms by passing
--nostdtransforms. The command getstats
--nostdtransforms --dump ext2:1.res produces the following table (note
that we do not need to suppress the default tabular report, as
--nostdtransforms already suppresses it):
thread epoch command status elapsed user sys
1 1 postmark /tmp/postmark_config-30126 0 6.138 1.700 2.720
1 2 postmark /tmp/postmark_config-30312 0 6.026 1.820 2.640
1 3 postmark /tmp/postmark_config-30498 0 5.855 1.590 2.800
1 4 postmark /tmp/postmark_config-30684 0 5.983 1.680 2.750
1 5 postmark /tmp/postmark_config-30870 0 6.063 1.730 2.700
1 6 postmark /tmp/postmark_config-31056 0 6.180 1.680 2.790
1 7 postmark /tmp/postmark_config-31242 0 6.043 1.510 2.880
1 8 postmark /tmp/postmark_config-31428 0 6.089 1.680 2.770
1 9 postmark /tmp/postmark_config-31614 0 6.063 1.630 2.820
1 10 postmark /tmp/postmark_config-31800 0 6.113 1.730 2.710
To produce CSV files, which are suitable for use with other programs,
you can replace --dump with --csv. For example, getstats
--nostdtransforms --csv ext2:1.res produces
"thread","epoch","command","status","elapsed","user","sys"
"1","1","postmark /tmp/postmark_config-30126","0","6.138273","1.700000","2.720000"
"1","2","postmark /tmp/postmark_config-30312","0","6.025781","1.820000","2.640000"
"1","3","postmark /tmp/postmark_config-30498","0","5.854844","1.590000","2.800000"
"1","4","postmark /tmp/postmark_config-30684","0","5.982848","1.680000","2.750000"
"1","5","postmark /tmp/postmark_config-30870","0","6.062588","1.730000","2.700000"
"1","6","postmark /tmp/postmark_config-31056","0","6.179898","1.680000","2.790000"
"1","7","postmark /tmp/postmark_config-31242","0","6.043082","1.510000","2.880000"
"1","8","postmark /tmp/postmark_config-31428","0","6.088717","1.680000","2.770000"
"1","9","postmark /tmp/postmark_config-31614","0","6.062965","1.630000","2.820000"
"1","10","postmark /tmp/postmark_config-31800","0","6.112608","1.730000","2.710000"