diff --git a/audio/BUILD.gn b/audio/BUILD.gn
index bb31ca0..e42a122 100644
--- a/audio/BUILD.gn
+++ b/audio/BUILD.gn
@@ -224,12 +224,14 @@
         "../api:peer_connection_quality_test_fixture_api",
         "../api:simulated_network_api",
         "../api:time_controller",
+        "../api/test/metrics:chrome_perf_dashboard_metrics_exporter",
         "../api/test/metrics:global_metrics_logger_and_exporter",
+        "../api/test/metrics:metrics_exporter",
+        "../api/test/metrics:stdout_metrics_exporter",
         "../call:simulated_network",
         "../common_audio",
         "../system_wrappers",
         "../test:fileutils",
-        "../test:perf_test",
         "../test:test_common",
         "../test:test_main",
         "../test:test_support",
diff --git a/audio/test/pc_low_bandwidth_audio_test.cc b/audio/test/pc_low_bandwidth_audio_test.cc
index 8ce3836..4fab15b 100644
--- a/audio/test/pc_low_bandwidth_audio_test.cc
+++ b/audio/test/pc_low_bandwidth_audio_test.cc
@@ -15,7 +15,10 @@
 #include "absl/strings/string_view.h"
 #include "api/test/create_network_emulation_manager.h"
 #include "api/test/create_peerconnection_quality_test_fixture.h"
+#include "api/test/metrics/chrome_perf_dashboard_metrics_exporter.h"
 #include "api/test/metrics/global_metrics_logger_and_exporter.h"
+#include "api/test/metrics/metrics_exporter.h"
+#include "api/test/metrics/stdout_metrics_exporter.h"
 #include "api/test/network_emulation_manager.h"
 #include "api/test/peerconnection_quality_test_fixture.h"
 #include "api/test/simulated_network.h"
@@ -24,7 +27,6 @@
 #include "test/gtest.h"
 #include "test/pc/e2e/network_quality_metrics_reporter.h"
 #include "test/testsupport/file_utils.h"
-#include "test/testsupport/perf_test.h"
 
 ABSL_DECLARE_FLAG(std::string, test_case_prefix);
 ABSL_DECLARE_FLAG(int, sample_rate_hz);
@@ -99,7 +101,12 @@
 
 void LogTestResults() {
   std::string perf_results_output_file = PerfResultsOutputFile();
-  EXPECT_TRUE(webrtc::test::WritePerfResults(perf_results_output_file));
+  std::vector<std::unique_ptr<MetricsExporter>> exporters;
+  exporters.push_back(std::make_unique<StdoutMetricsExporter>());
+  exporters.push_back(std::make_unique<ChromePerfDashboardMetricsExporter>(
+      perf_results_output_file));
+  EXPECT_TRUE(
+      ExportPerfMetric(*GetGlobalMetricsLogger(), std::move(exporters)));
 
   const ::testing::TestInfo* const test_info =
       ::testing::UnitTest::GetInstance()->current_test_info();
diff --git a/rtc_tools/BUILD.gn b/rtc_tools/BUILD.gn
index 21dc736..19b885d 100644
--- a/rtc_tools/BUILD.gn
+++ b/rtc_tools/BUILD.gn
@@ -140,9 +140,11 @@
     ":video_quality_analysis",
     "../api:make_ref_counted",
     "../api:scoped_refptr",
+    "../api/test/metrics:chrome_perf_dashboard_metrics_exporter",
     "../api/test/metrics:global_metrics_logger_and_exporter",
+    "../api/test/metrics:metrics_exporter",
+    "../api/test/metrics:stdout_metrics_exporter",
     "../rtc_base:stringutils",
-    "../test:perf_test",
     "//third_party/abseil-cpp/absl/flags:flag",
     "//third_party/abseil-cpp/absl/flags:parse",
     "//third_party/abseil-cpp/absl/strings",
diff --git a/rtc_tools/frame_analyzer/frame_analyzer.cc b/rtc_tools/frame_analyzer/frame_analyzer.cc
index 2224f48..501a614 100644
--- a/rtc_tools/frame_analyzer/frame_analyzer.cc
+++ b/rtc_tools/frame_analyzer/frame_analyzer.cc
@@ -19,7 +19,10 @@
 #include "absl/flags/parse.h"
 #include "absl/strings/match.h"
 #include "api/scoped_refptr.h"
+#include "api/test/metrics/chrome_perf_dashboard_metrics_exporter.h"
 #include "api/test/metrics/global_metrics_logger_and_exporter.h"
+#include "api/test/metrics/metrics_exporter.h"
+#include "api/test/metrics/stdout_metrics_exporter.h"
 #include "rtc_base/strings/string_builder.h"
 #include "rtc_tools/frame_analyzer/video_color_aligner.h"
 #include "rtc_tools/frame_analyzer/video_geometry_aligner.h"
@@ -27,7 +30,6 @@
 #include "rtc_tools/frame_analyzer/video_temporal_aligner.h"
 #include "rtc_tools/video_file_reader.h"
 #include "rtc_tools/video_file_writer.h"
-#include "test/testsupport/perf_test.h"
 
 ABSL_FLAG(int32_t, width, -1, "The width of the reference and test files");
 ABSL_FLAG(int32_t, height, -1, "The height of the reference and test files");
@@ -163,12 +165,18 @@
   webrtc::test::PrintAnalysisResults(absl::GetFlag(FLAGS_label), results,
                                      *webrtc::test::GetGlobalMetricsLogger());
 
+  std::vector<std::unique_ptr<webrtc::test::MetricsExporter>> exporters;
+  exporters.push_back(std::make_unique<webrtc::test::StdoutMetricsExporter>());
   std::string chartjson_result_file =
       absl::GetFlag(FLAGS_chartjson_result_file);
   if (!chartjson_result_file.empty()) {
-    if (!webrtc::test::WritePerfResults(chartjson_result_file)) {
-      return 1;
-    }
+    exporters.push_back(
+        std::make_unique<webrtc::test::ChromePerfDashboardMetricsExporter>(
+            chartjson_result_file));
+  }
+  if (!webrtc::test::ExportPerfMetric(*webrtc::test::GetGlobalMetricsLogger(),
+                                      std::move(exporters))) {
+    return 1;
   }
   std::string aligned_output_file = absl::GetFlag(FLAGS_aligned_output_file);
   if (!aligned_output_file.empty()) {
