[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_