Belle II Software light-2406-ragdoll
|
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. | |
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.
typedef double value_type |
type of float variable to use for calculations and storage
Definition at line 45 of file ModuleStatistics.h.
enum EStatisticCounters |
Enum to define all counter types.
Definition at line 29 of file ModuleStatistics.h.
|
inlineexplicit |
Construct with a given name.
Definition at line 48 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.
|
inline |
Clear all statistics.
Definition at line 129 of file ModuleStatistics.h.
|
inline |
return the number of calls for a given counter type
Definition at line 81 of file ModuleStatistics.h.
|
inline |
|
inline |
return the average memory change per call
Definition at line 107 of file ModuleStatistics.h.
|
inline |
return the stddev of the memory consumption changes per call
Definition at line 112 of file ModuleStatistics.h.
|
inline |
return the total used memory for a given counter
Definition at line 102 of file ModuleStatistics.h.
|
inline |
|
inline |
return the mean execution time for a given counter
Definition at line 92 of file ModuleStatistics.h.
|
inline |
return the pearson correlation coefficient between execution times and memory consumption changes
Definition at line 118 of file ModuleStatistics.h.
|
inline |
return the stddev of the execution times for a given counter
Definition at line 97 of file ModuleStatistics.h.
|
inline |
return the sum of all execution times for a given counter
Definition at line 87 of file ModuleStatistics.h.
|
inline |
|
inline |
|
inline |
Set the index of the module when displaying statistics.
Definition at line 73 of file ModuleStatistics.h.
|
inline |
Set the name of the module for display.
Definition at line 71 of file ModuleStatistics.h.
|
inline |
|
private |
display index of the module
Definition at line 135 of file ModuleStatistics.h.
|
private |
name of module
Definition at line 137 of file ModuleStatistics.h.
|
private |
array with mean/covariance for all counters
Definition at line 139 of file ModuleStatistics.h.