Declaration of the Statistics class and associated methods/variables.
Currently, each PE maintains a single instance of a Statistics object, and at the end of the simulation, a reduction is done to compute total statistics. Some of the PE level statistics may also be logged for projections intermittently if tracing is turned on, which requires an additional instance a Statistics object on each PE.
- Todo:
- More modular statistics
- A top level composite statistics class
- Smaller stats modules for things like scheduler, GVT, etc.
- Modules register with the top level class
- Todo:
- LP level statistics/tracing
- Related to above, could be a module, however there would be one per LP
- Tracing would require some added functionality to Projections
- Todo:
- Better stats tracing
- Probably subclass or composite pattern to make logging self-contained
- Calling log() would dump current stats to file, and accumulate
- Final reduction only needs aggregate stats
- Maybe have a separate type for stats that is a pair when tracing is enabled, which will make all stats traceable more easily
- Todo:
- Model specific stats and logging
- May be entirely taken care of by modular and lp level above