The simplest form of invocation is just: getstats file
, where
file is a results, CSV, or GNU time file. For example, the
command getstats ext2:1.res produces the following tabular
report:
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
In this report, we see that elapsed time had a z-score of 2.2 in the third
iteration (i.e., the value was 2.2 standard deviations away from the mean). We
also see that I/O time was 2.0 standard deviations away from the mean. Because
this is only a single test, and is not that far away, we can still analyze the
results without much concern.
We then see that there were ten values for Elapsed, System, and User time. Two
additional quantities are reported: Wait, which is the Elapsed time less CPU
time used (i.e. Wait = Elapsed - (System + User)
); and CPU utilization.
We also see the mean and median values. The LOW and HIGH columns
are used to create error bars with Graphit (See Graphit). The MIN
and MAX columns are the minimum and maximum values.
The last two columns are the standard deviation and the half-width of a 95%
confidence interval, presented as a percentage of the mean.
The second most common usage of Getstats is probably to compare two
results files and print out the percentage overhead for each measured
quantity. Simply add more files on the command line, and each
subsequent one is compared with the first file. For example,
getstats ext2:1.res ext2:2.res ext2:4.res
produces similar
warnings, and three tables, the second two of which have an overhead
column.
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:2.res: High z-score of 2.02151683729612 for io in epoch 9. ext2:2.res: High z-score of 2.04675213832333 for cpu in epoch 9. ext2:4.res: High z-score of 2.67440053238888 for elapsed in epoch 17. ext2:4.res: High z-score of 3.49505543943413 for elapsed in epoch 18. ext2:4.res: High z-score of 2.08010266128444 for user in epoch 24. ext2:4.res: High z-score of 2.07085419644225 for sys in epoch 7. ext2:4.res: High z-score of 2.7647669231535 for io in epoch 17. ext2:4.res: High z-score of 3.4658463687201 for io in epoch 18. ext2:4.res: High z-score of 2.78135167661708 for cpu in epoch 17. ext2:4.res: High z-score of 3.57552849516685 for cpu in epoch 18. 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 ext2:2.res NAME COUNT MEAN MEDIAN LOW HIGH MIN MAX SDEV% HW% O/H Elapsed 11 4.904 4.966 4.793 5.015 4.579 5.042 3.377 2.269 -19.012 System 11 2.524 2.520 2.478 2.569 2.410 2.630 2.695 1.810 -8.498 User 11 0.811 0.810 0.774 0.848 0.740 0.910 6.720 4.514 -51.588 Wait 11 1.569 1.616 1.453 1.686 1.219 1.748 11.057 7.428 -3.253 CPU% 11 68.075 67.141 66.332 69.818 65.164 73.385 3.811 2.560 -7.029 ext2:4.res NAME COUNT MEAN MEDIAN LOW HIGH MIN MAX SDEV% HW% O/H Elapsed 31 4.300 4.318 4.230 4.369 3.636 4.513 4.413 1.619 -28.993 System 31 2.360 2.350 2.333 2.387 2.220 2.510 3.069 1.126 -14.431 User 31 0.502 0.470 0.476 0.528 0.410 0.650 14.141 5.187 -70.014 Wait 31 1.437 1.472 1.366 1.508 0.766 1.667 13.467 4.940 -11.396 CPU% 31 66.708 65.822 65.455 67.961 62.851 78.923 5.121 1.879 -8.895
When running Getstats, you may want to skip the leading warnings,
because you are impatient and don't want to wait for them to complete
(e.g., if you've already looked at them), or you simply don't want the
output (e.g., if you are using the output in an automated Graphit
script). To disable warnings, simply add --set warn=0
to the
command line. The command getstats --set warn=0
samples/ext2:1.res produces the tabular report alone, as follows:
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
The --set option, is actually rather generic. It can be used
to set any Getstats internal variable. You can also turn off the
overhead column, with --set overhead=0
. For example,
getstats --set overhead=0 --set warn=0 ext2:1.res ext2:2.res
produces the following:
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 ext2:2.res NAME COUNT MEAN MEDIAN LOW HIGH MIN MAX SDEV% HW% Elapsed 11 4.904 4.966 4.793 5.015 4.579 5.042 3.377 2.269 System 11 2.524 2.520 2.478 2.569 2.410 2.630 2.695 1.810 User 11 0.811 0.810 0.774 0.848 0.740 0.910 6.720 4.514 Wait 11 1.569 1.616 1.453 1.686 1.219 1.748 11.057 7.428 CPU% 11 68.075 67.141 66.332 69.818 65.164 73.385 3.811 2.560
If you want to adjust the confidence interval, you also use --set. If you wanted tighter confidence intervals, you could use getstats --set confidencelevel=99 ext2:1.res, and the output would change as follows:
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.962 6.148 5.855 6.180 1.491 1.532 System 10 2.758 2.760 2.687 2.829 2.640 2.880 2.499 2.568 User 10 1.675 1.680 1.588 1.762 1.510 1.820 5.044 5.184 Wait 10 1.622 1.636 1.543 1.701 1.465 1.718 4.759 4.891 CPU% 10 73.221 73.079 72.289 74.154 72.007 74.981 1.240 1.274
There are several other variables, which are described within the transform that they control.