[DVQA] Fix: allow export cpu_usage through new perf metrics API
Bug: b/246095034
Change-Id: I646ec0b1adf6d1285eb7c39ff65c4a68395bd6aa
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276264
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Artem Titov <titovartem@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38156}
diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
index 46d3270..e206a10 100644
--- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
+++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer.cc
@@ -898,8 +898,15 @@
ReportResults(GetTestCaseName(ToMetricName(item.first)), item.second,
stream_frame_counters_.at(item.first));
}
- test::PrintResult("cpu_usage", "", test_label_.c_str(), GetCpuUsagePercent(),
- "%", false, ImproveDirection::kSmallerIsBetter);
+ if (metrics_logger_ == nullptr) {
+ test::PrintResult("cpu_usage", "", test_label_.c_str(),
+ GetCpuUsagePercent(), "%", false,
+ ImproveDirection::kSmallerIsBetter);
+ } else {
+ metrics_logger_->LogSingleValueMetric(
+ "cpu_usage", test_label_, GetCpuUsagePercent(), Unit::kPercent,
+ ImprovementDirection::kSmallerIsBetter);
+ }
LogFrameCounters("Global", frame_counters_);
if (!unknown_sender_frame_counters_.empty()) {
RTC_LOG(LS_INFO) << "Received frame counters with unknown frame id:";
diff --git a/test/pc/e2e/analyzer/video/default_video_quality_analyzer_metric_names_test.cc b/test/pc/e2e/analyzer/video/default_video_quality_analyzer_metric_names_test.cc
index f2ca603..560d589 100644
--- a/test/pc/e2e/analyzer/video/default_video_quality_analyzer_metric_names_test.cc
+++ b/test/pc/e2e/analyzer/video/default_video_quality_analyzer_metric_names_test.cc
@@ -313,7 +313,12 @@
.test_case = "test_case/alice_video",
.name = "recv_delta_frame_size_bytes",
.unit = Unit::kCount,
- .improvement_direction = ImprovementDirection::kBiggerIsBetter}));
+ .improvement_direction = ImprovementDirection::kBiggerIsBetter},
+ MetricValidationInfo{.test_case = "test_case",
+ .name = "cpu_usage",
+ .unit = Unit::kPercent,
+ .improvement_direction =
+ ImprovementDirection::kSmallerIsBetter}));
}
TEST(DefaultVideoQualityAnalyzerMetricNamesTest,
@@ -607,7 +612,12 @@
.test_case = "test_case/alice_video_alice_charlie",
.name = "recv_delta_frame_size_bytes",
.unit = Unit::kCount,
- .improvement_direction = ImprovementDirection::kBiggerIsBetter}));
+ .improvement_direction = ImprovementDirection::kBiggerIsBetter},
+ MetricValidationInfo{.test_case = "test_case",
+ .name = "cpu_usage",
+ .unit = Unit::kPercent,
+ .improvement_direction =
+ ImprovementDirection::kSmallerIsBetter}));
}
TEST(DefaultVideoQualityAnalyzerMetricNamesTest,
@@ -639,10 +649,11 @@
std::vector<std::string> metrics =
ToTestCases(metrics_logger.GetCollectedMetrics());
- EXPECT_THAT(metrics, SizeIs(52));
+ EXPECT_THAT(metrics, SizeIs(53));
EXPECT_THAT(metrics, Contains("test_case/alice_video_alice_bob").Times(26));
EXPECT_THAT(metrics,
Contains("test_case/alice_video_alice_charlie").Times(26));
+ EXPECT_THAT(metrics, Contains("test_case").Times(1));
}
} // namespace