diff options
Diffstat (limited to 'src/base')
-rw-r--r-- | src/base/stats/group.cc | 10 | ||||
-rw-r--r-- | src/base/stats/group.hh | 7 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/base/stats/group.cc b/src/base/stats/group.cc index b1504275a..d7c244225 100644 --- a/src/base/stats/group.cc +++ b/src/base/stats/group.cc @@ -94,6 +94,16 @@ Group::resetStats() } void +Group::preDumpStats() +{ + for (auto &g : mergedStatGroups) + g->preDumpStats(); + + for (auto &g : statGroups) + g.second->preDumpStats(); +} + +void Group::addStat(Stats::Info *info) { stats.push_back(info); diff --git a/src/base/stats/group.hh b/src/base/stats/group.hh index f65e46448..96743a811 100644 --- a/src/base/stats/group.hh +++ b/src/base/stats/group.hh @@ -128,6 +128,13 @@ class Group virtual void resetStats(); /** + * Callback before stats are dumped. This can be overridden by + * objects that need to perform calculations in addition to the + * capabiltiies implemented in the stat framework. + */ + virtual void preDumpStats(); + + /** * Register a stat with this group. This method is normally called * automatically when a stat is instantiated. */ |