[C++] Report particularly slow shell commands
diff --git a/stats.h b/stats.h
index 41525e1..1ccd044 100644
--- a/stats.h
+++ b/stats.h
@@ -27,7 +27,7 @@
private:
void Start();
- void End();
+ double End();
friend class ScopedStatsRecorder;
@@ -38,11 +38,12 @@
class ScopedStatsRecorder {
public:
- explicit ScopedStatsRecorder(Stats* st);
+ explicit ScopedStatsRecorder(Stats* st, const char* msg = 0);
~ScopedStatsRecorder();
private:
Stats* st_;
+ const char* msg_;
};
void ReportAllStats();
@@ -51,4 +52,8 @@
static Stats stats(name); \
ScopedStatsRecorder ssr(&stats)
+#define COLLECT_STATS_WITH_SLOW_REPORT(name, msg) \
+ static Stats stats(name); \
+ ScopedStatsRecorder ssr(&stats, msg)
+
#endif // STATS_H_