Next: , Up: Getstats



6.1 Tabular Reports

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.