diff --git a/test/pc/e2e/BUILD.gn b/test/pc/e2e/BUILD.gn
index a44041c..141022d 100644
--- a/test/pc/e2e/BUILD.gn
+++ b/test/pc/e2e/BUILD.gn
@@ -853,6 +853,8 @@
       "../../../api:peer_connection_quality_test_fixture_api",
       "../../../api:rtc_stats_api",
       "../../../api:track_id_stream_info_map",
+      "../../../api/test/metrics:metric",
+      "../../../api/test/metrics:metrics_logger_and_exporter",
       "../../../api/units:data_size",
       "../../../rtc_base:criticalsection",
       "../../../rtc_base:rtc_event",
diff --git a/test/pc/e2e/network_quality_metrics_reporter.cc b/test/pc/e2e/network_quality_metrics_reporter.cc
index d63cd09..93d5438 100644
--- a/test/pc/e2e/network_quality_metrics_reporter.cc
+++ b/test/pc/e2e/network_quality_metrics_reporter.cc
@@ -13,6 +13,7 @@
 
 #include "api/stats/rtc_stats.h"
 #include "api/stats/rtcstats_objects.h"
+#include "api/test/metrics/metric.h"
 #include "rtc_base/event.h"
 #include "system_wrappers/include/field_trial.h"
 #include "test/testsupport/perf_test.h"
@@ -21,6 +22,9 @@
 namespace webrtc_pc_e2e {
 namespace {
 
+using ::webrtc::test::ImprovementDirection;
+using ::webrtc::test::Unit;
+
 constexpr TimeDelta kStatsWaitTimeout = TimeDelta::Seconds(1);
 
 // Field trial which controls whether to report standard-compliant bytes
@@ -109,35 +113,79 @@
     const std::string& network_label,
     std::unique_ptr<EmulatedNetworkStats> stats,
     int64_t packet_loss) {
-  ReportResult("bytes_sent", network_label, stats->BytesSent().bytes(),
-               "sizeInBytes");
-  ReportResult("packets_sent", network_label, stats->PacketsSent(), "unitless");
-  ReportResult(
-      "average_send_rate", network_label,
-      stats->PacketsSent() >= 2 ? stats->AverageSendRate().bytes_per_sec() : 0,
-      "bytesPerSecond");
-  ReportResult("bytes_discarded_no_receiver", network_label,
-               stats->BytesDropped().bytes(), "sizeInBytes");
-  ReportResult("packets_discarded_no_receiver", network_label,
-               stats->PacketsDropped(), "unitless");
-  ReportResult("bytes_received", network_label, stats->BytesReceived().bytes(),
-               "sizeInBytes");
-  ReportResult("packets_received", network_label, stats->PacketsReceived(),
-               "unitless");
-  ReportResult("average_receive_rate", network_label,
-               stats->PacketsReceived() >= 2
-                   ? stats->AverageReceiveRate().bytes_per_sec()
-                   : 0,
-               "bytesPerSecond");
-  ReportResult("sent_packets_loss", network_label, packet_loss, "unitless");
+  if (metrics_logger_ == nullptr) {
+    ReportResult("bytes_sent", network_label, stats->BytesSent().bytes(),
+                 "sizeInBytes");
+    ReportResult("packets_sent", network_label, stats->PacketsSent(),
+                 "unitless");
+    ReportResult("average_send_rate", network_label,
+                 stats->PacketsSent() >= 2
+                     ? stats->AverageSendRate().bytes_per_sec()
+                     : 0,
+                 "bytesPerSecond");
+    ReportResult("bytes_discarded_no_receiver", network_label,
+                 stats->BytesDropped().bytes(), "sizeInBytes");
+    ReportResult("packets_discarded_no_receiver", network_label,
+                 stats->PacketsDropped(), "unitless");
+    ReportResult("bytes_received", network_label,
+                 stats->BytesReceived().bytes(), "sizeInBytes");
+    ReportResult("packets_received", network_label, stats->PacketsReceived(),
+                 "unitless");
+    ReportResult("average_receive_rate", network_label,
+                 stats->PacketsReceived() >= 2
+                     ? stats->AverageReceiveRate().bytes_per_sec()
+                     : 0,
+                 "bytesPerSecond");
+    ReportResult("sent_packets_loss", network_label, packet_loss, "unitless");
+  } else {
+    metrics_logger_->LogSingleValueMetric(
+        "bytes_sent", network_label, stats->BytesSent().bytes(), Unit::kBytes,
+        ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "packets_sent", network_label, stats->PacketsSent(), Unit::kUnitless,
+        ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "average_send_rate", network_label,
+        stats->PacketsSent() >= 2 ? stats->AverageSendRate().kbps() : 0,
+        Unit::kKilobitsPerSecond, ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "bytes_discarded_no_receiver", network_label,
+        stats->BytesDropped().bytes(), Unit::kBytes,
+        ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "packets_discarded_no_receiver", network_label, stats->PacketsDropped(),
+        Unit::kUnitless, ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "bytes_received", network_label, stats->BytesReceived().bytes(),
+        Unit::kBytes, ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "packets_received", network_label, stats->PacketsReceived(),
+        Unit::kUnitless, ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "average_receive_rate", network_label,
+        stats->PacketsReceived() >= 2 ? stats->AverageReceiveRate().kbps() : 0,
+        Unit::kKilobitsPerSecond, ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "sent_packets_loss", network_label, packet_loss, Unit::kUnitless,
+        ImprovementDirection::kNeitherIsBetter);
+  }
 }
 
 void NetworkQualityMetricsReporter::ReportPCStats(const std::string& pc_label,
                                                   const PCStats& stats) {
-  ReportResult("payload_bytes_received", pc_label,
-               stats.payload_received.bytes(), "sizeInBytes");
-  ReportResult("payload_bytes_sent", pc_label, stats.payload_sent.bytes(),
-               "sizeInBytes");
+  if (metrics_logger_ == nullptr) {
+    ReportResult("payload_bytes_received", pc_label,
+                 stats.payload_received.bytes(), "sizeInBytes");
+    ReportResult("payload_bytes_sent", pc_label, stats.payload_sent.bytes(),
+                 "sizeInBytes");
+  } else {
+    metrics_logger_->LogSingleValueMetric(
+        "payload_bytes_received", pc_label, stats.payload_received.bytes(),
+        Unit::kBytes, ImprovementDirection::kNeitherIsBetter);
+    metrics_logger_->LogSingleValueMetric(
+        "payload_bytes_sent", pc_label, stats.payload_sent.bytes(),
+        Unit::kBytes, ImprovementDirection::kNeitherIsBetter);
+  }
 }
 
 void NetworkQualityMetricsReporter::ReportResult(
diff --git a/test/pc/e2e/network_quality_metrics_reporter.h b/test/pc/e2e/network_quality_metrics_reporter.h
index 5cedce1..63b35e9 100644
--- a/test/pc/e2e/network_quality_metrics_reporter.h
+++ b/test/pc/e2e/network_quality_metrics_reporter.h
@@ -15,6 +15,7 @@
 #include <string>
 
 #include "absl/strings/string_view.h"
+#include "api/test/metrics/metrics_logger_and_exporter.h"
 #include "api/test/network_emulation_manager.h"
 #include "api/test/peerconnection_quality_test_fixture.h"
 #include "api/test/track_id_stream_info_map.h"
@@ -29,7 +30,15 @@
  public:
   NetworkQualityMetricsReporter(EmulatedNetworkManagerInterface* alice_network,
                                 EmulatedNetworkManagerInterface* bob_network)
-      : alice_network_(alice_network), bob_network_(bob_network) {}
+      : NetworkQualityMetricsReporter(alice_network,
+                                      bob_network,
+                                      /*metrics_logger=*/nullptr) {}
+  NetworkQualityMetricsReporter(EmulatedNetworkManagerInterface* alice_network,
+                                EmulatedNetworkManagerInterface* bob_network,
+                                test::MetricsLoggerAndExporter* metrics_logger)
+      : alice_network_(alice_network),
+        bob_network_(bob_network),
+        metrics_logger_(metrics_logger) {}
   ~NetworkQualityMetricsReporter() override = default;
 
   // Network stats must be empty when this method will be invoked.
@@ -62,8 +71,9 @@
 
   std::string test_case_name_;
 
-  EmulatedNetworkManagerInterface* alice_network_;
-  EmulatedNetworkManagerInterface* bob_network_;
+  EmulatedNetworkManagerInterface* const alice_network_;
+  EmulatedNetworkManagerInterface* const bob_network_;
+  test::MetricsLoggerAndExporter* const metrics_logger_;
   Mutex lock_;
   std::map<std::string, PCStats> pc_stats_ RTC_GUARDED_BY(lock_);
 };
