diff --git a/test/scenario/BUILD.gn b/test/scenario/BUILD.gn
index af1059d..1df39fa 100644
--- a/test/scenario/BUILD.gn
+++ b/test/scenario/BUILD.gn
@@ -162,6 +162,7 @@
   rtc_source_set("scenario_unittests") {
     testonly = true
     sources = [
+      "performance_stats_unittest.cc",
       "scenario_unittest.cc",
       "stats_collection_unittest.cc",
       "video_stream_unittest.cc",
diff --git a/test/scenario/performance_stats.cc b/test/scenario/performance_stats.cc
index 0bbf86d..5f5b506 100644
--- a/test/scenario/performance_stats.cc
+++ b/test/scenario/performance_stats.cc
@@ -40,6 +40,13 @@
   return (event_count_ - 1) / (last_time_ - first_time_).seconds<double>();
 }
 
+TimeDelta EventRateCounter::TotalDuration() const {
+  if (first_time_.IsInfinite()) {
+    return TimeDelta::Zero();
+  }
+  return last_time_ - first_time_;
+}
+
 double SampleStats<double>::Max() {
   if (IsEmpty())
     return INFINITY;
diff --git a/test/scenario/performance_stats.h b/test/scenario/performance_stats.h
index b1ff398..310ee8d 100644
--- a/test/scenario/performance_stats.h
+++ b/test/scenario/performance_stats.h
@@ -99,6 +99,7 @@
   bool IsEmpty() const;
   double Rate() const;
   SampleStats<TimeDelta>& interval() { return interval_; }
+  TimeDelta TotalDuration() const;
   int Count() const { return event_count_; }
 
  private:
diff --git a/test/scenario/performance_stats_unittest.cc b/test/scenario/performance_stats_unittest.cc
new file mode 100644
index 0000000..93ab1a1
--- /dev/null
+++ b/test/scenario/performance_stats_unittest.cc
@@ -0,0 +1,27 @@
+/*
+ *  Copyright 2019 The WebRTC project authors. All Rights Reserved.
+ *
+ *  Use of this source code is governed by a BSD-style license
+ *  that can be found in the LICENSE file in the root of the source
+ *  tree. An additional intellectual property rights grant can be found
+ *  in the file PATENTS.  All contributing project authors may
+ *  be found in the AUTHORS file in the root of the source tree.
+ */
+#include "test/scenario/performance_stats.h"
+
+#include "test/gtest.h"
+
+namespace webrtc {
+namespace test {
+
+TEST(EventRateCounter, ReturnsCorrectTotalDuration) {
+  EventRateCounter event_rate_counter;
+  EXPECT_EQ(event_rate_counter.TotalDuration(), TimeDelta::Zero());
+  event_rate_counter.AddEvent(Timestamp::seconds(1));
+  EXPECT_EQ(event_rate_counter.TotalDuration(), TimeDelta::Zero());
+  event_rate_counter.AddEvent(Timestamp::seconds(2));
+  EXPECT_EQ(event_rate_counter.TotalDuration(), TimeDelta::seconds(1));
+}
+
+}  // namespace test
+}  // namespace webrtc
