|  | Belle II Software
    light-2205-abys
    | 
Keep track of time and memory consumption during processing. More...
#include <ModuleStatistics.h>

| Public Types | |
| enum | EStatisticCounters { c_Init , c_BeginRun , c_Event , c_EndRun , c_Term , c_Total } | 
| Enum to define all counter types.  More... | |
| typedef double | value_type | 
| type of float variable to use for calculations and storage | |
| Public Member Functions | |
| ModuleStatistics (const std::string &name="") | |
| Construct with a given name. | |
| void | add (EStatisticCounters type, value_type time, value_type memory) | 
| Add a time and memory measurment to the counter of a given type.  More... | |
| void | update (const ModuleStatistics &other) | 
| Add statistics for each category. | |
| void | setName (const std::string &name) | 
| Set the name of the module for display. | |
| void | setIndex (int index) | 
| Set the index of the module when displaying statistics. | |
| const std::string & | getName () const | 
| Return the previously set name. | |
| int | getIndex () const | 
| Return the index. | |
| value_type | getCalls (EStatisticCounters type=c_Total) const | 
| return the number of calls for a given counter type | |
| value_type | getTimeSum (EStatisticCounters type=c_Total) const | 
| return the sum of all execution times for a given counter | |
| value_type | getTimeMean (EStatisticCounters type=c_Total) const | 
| return the mean execution time for a given counter | |
| value_type | getTimeStddev (EStatisticCounters type=c_Total) const | 
| return the stddev of the execution times for a given counter | |
| value_type | getMemorySum (EStatisticCounters type=c_Total) const | 
| return the total used memory for a given counter | |
| value_type | getMemoryMean (EStatisticCounters type=c_Total) const | 
| return the average memory change per call | |
| value_type | getMemoryStddev (EStatisticCounters type=c_Total) const | 
| return the stddev of the memory consumption changes per call | |
| value_type | getTimeMemoryCorrelation (EStatisticCounters type=c_Total) const | 
| return the pearson correlation coefficient between execution times and memory consumption changes | |
| bool | operator== (const ModuleStatistics &other) const | 
| Check if name is identical. | |
| bool | operator!= (const ModuleStatistics &other) const | 
| inequality. | |
| void | clear () | 
| Clear all statistics. | |
| Private Attributes | |
| int | m_index | 
| display index of the module | |
| std::string | m_name | 
| name of module | |
| CalcMeanCov< 2, value_type > | m_stats [c_Total+1] | 
| array with mean/covariance for all counters | |
Keep track of time and memory consumption during processing.
This class offers a counter for time and memory consumption for all processing steps (initialize, beginRun, event, endRun, terminate and total). It will automatically calculate a running mean, stddev and correlation factor between time and memory consumption.
Definition at line 26 of file ModuleStatistics.h.
| enum EStatisticCounters | 
Enum to define all counter types.
Definition at line 29 of file ModuleStatistics.h.
| 
 | inline | 
Add a time and memory measurment to the counter of a given type.
| type | Type of counter to add the value to | 
| time | time used during execution | 
| memory | memory size change during execution | 
Definition at line 55 of file ModuleStatistics.h.