summaryrefslogtreecommitdiff
path: root/src/base
diff options
context:
space:
mode:
Diffstat (limited to 'src/base')
-rw-r--r--src/base/stats/group.cc10
-rw-r--r--src/base/stats/group.hh7
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.
*/