Obtaining statisticsΒΆ
To enable collecting statistics, run the application with the version.instrument
configuration variable set to stats
.
This variant collects timing statistics.
By default, the statistics are emitted to the standard error when the program ends.
The output can be sent to a file through the instrument.stats.output_file
configuration option.
The contents of the output contains the average for each task type and the total task average of the following metrics:
Number of instances
Mean instantiation time
Mean pending time (not ready due to dependencies)
Mean ready time
Mean execution time
Mean blocked time (due to a critical or a taskwait)
Mean zombie time (finished but not yet destroyed)
Mean lifetime (time between creation and destruction)
The output also contains information about:
Number of CPUs
Total number of threads
Mean threads per CPU
Mean tasks per thread
Mean thread lifetime
Mean thread running time
Most codes consist of an initialization phase, a calculation phase and final phase for verification or writing the results. Usually these phases are separated by a taskwait. The runtime uses the taskwaits at the outermost level to identify phases and emit individual metrics for each phase.