summaryrefslogtreecommitdiff
path: root/src/output.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/output.h')
-rw-r--r--src/output.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/output.h b/src/output.h
index fd462040..ada7b21c 100644
--- a/src/output.h
+++ b/src/output.h
@@ -83,6 +83,41 @@ public:
*
* Long.
*/
+class gather_statistics : public item_handler<xact_t>
+{
+protected:
+ report_t& report;
+ entry_t * last_entry;
+ xact_t * last_xact;
+
+ struct statistics_t {
+ std::size_t total_entries;
+ std::size_t total_xacts;
+
+ statistics_t()
+ : total_entries(0),
+ total_xacts(0) {}
+ }
+ statistics;
+
+public:
+ gather_statistics(report_t& _report)
+ : report(_report), last_entry(NULL), last_xact(NULL) {
+ TRACE_CTOR(gather_statistics, "report&");
+ }
+ virtual ~gather_statistics() {
+ TRACE_DTOR(gather_statistics);
+ }
+
+ virtual void flush();
+ virtual void operator()(xact_t& xact);
+};
+
+/**
+ * @brief Brief
+ *
+ * Long.
+ */
class format_entries : public format_xacts
{
public: