From 8294d49bb6f787bbe5b05a4a5c52d1d26a2289af Mon Sep 17 00:00:00 2001 From: Mitchell Hayenga Date: Tue, 5 Jun 2012 01:23:08 -0400 Subject: stats: Provide a mechanism to get a callback when stats are dumped. This mechanism is useful for dumping output that is correlated with stats dumping, but isn't tracked by the gem5 statistics. --- src/base/statistics.cc | 7 +++++++ src/base/statistics.hh | 6 ++++++ 2 files changed, 13 insertions(+) (limited to 'src/base') diff --git a/src/base/statistics.cc b/src/base/statistics.cc index 545d08cab..8034625be 100644 --- a/src/base/statistics.cc +++ b/src/base/statistics.cc @@ -433,6 +433,7 @@ Formula::str() const return root ? root->str() : ""; } +CallbackQueue dumpQueue; CallbackQueue resetQueue; void @@ -458,6 +459,12 @@ enable() _enabled = true; } +void +registerDumpCallback(Callback *cb) +{ + dumpQueue.add(cb); +} + } // namespace Stats void diff --git a/src/base/statistics.hh b/src/base/statistics.hh index 67c09bb6a..c36f8f461 100644 --- a/src/base/statistics.hh +++ b/src/base/statistics.hh @@ -3135,6 +3135,12 @@ bool enabled(); */ void registerResetCallback(Callback *cb); +/** + * Register a callback that should be called whenever statistics are + * about to be dumped + */ +void registerDumpCallback(Callback *cb); + std::list &statsList(); } // namespace Stats -- cgit v1.2.3