Add missing export to the perf output file

Bug: b/246095034
Change-Id: I53f327bd9d36c6cda814cead9493b21a3757d784
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276622
Reviewed-by: Alessio Bazzica <alessiob@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38220}
This commit is contained in:
Artem Titov 2022-09-27 11:25:19 +02:00 committed by WebRTC LUCI CQ
parent 88429bfe6b
commit 718d7b34d0
4 changed files with 27 additions and 8 deletions

View File

@ -224,12 +224,14 @@ if (rtc_include_tests) {
"../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",

View File

@ -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 @@ std::string PerfResultsOutputFile() {
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();

View File

@ -140,9 +140,11 @@ rtc_executable("frame_analyzer") {
":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",

View File

@ -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 @@ int main(int argc, char* argv[]) {
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()) {