mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-14 06:10:40 +01:00
Increase backward compatibility for PrintResultProxyMetricsExporter
Bug: b/246095034 Change-Id: Ie6f3dd86a402c2d5cec4dce90b5aa08c2a96ac27 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/276741 Commit-Queue: Artem Titov <titovartem@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/main@{#38206}
This commit is contained in:
parent
69d23c9386
commit
183e9968ce
2 changed files with 44 additions and 0 deletions
|
@ -93,6 +93,16 @@ bool PrintResultProxyMetricsExporter::Export(
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (metric.time_series.samples.size() == 1lu) {
|
||||||
|
// Increase backwards compatibility for 1 value use case.
|
||||||
|
PrintResult(
|
||||||
|
metric.name, /*modifier=*/"", metric.test_case,
|
||||||
|
ToPrintResultValue(metric.time_series.samples[0].value, metric.unit),
|
||||||
|
ToPrintResultUnit(metric.unit), /*important=*/false,
|
||||||
|
ToPrintResultImproveDirection(metric.improvement_direction));
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
SamplesStatsCounter counter;
|
SamplesStatsCounter counter;
|
||||||
for (size_t i = 0; i < metric.time_series.samples.size(); ++i) {
|
for (size_t i = 0; i < metric.time_series.samples.size(); ++i) {
|
||||||
counter.AddSample(SamplesStatsCounter::StatsSample{
|
counter.AddSample(SamplesStatsCounter::StatsSample{
|
||||||
|
|
|
@ -70,6 +70,40 @@ TEST(PrintResultProxyMetricsExporterTest,
|
||||||
EXPECT_EQ(expected, testing::internal::GetCapturedStdout());
|
EXPECT_EQ(expected, testing::internal::GetCapturedStdout());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(PrintResultProxyMetricsExporterTest,
|
||||||
|
ExportMetricsWithTimeSeriesOfSingleValueFormatCorrect) {
|
||||||
|
Metric metric1{
|
||||||
|
.name = "test_metric1",
|
||||||
|
.unit = Unit::kMilliseconds,
|
||||||
|
.improvement_direction = ImprovementDirection::kBiggerIsBetter,
|
||||||
|
.test_case = "test_case_name1",
|
||||||
|
.metric_metadata = DefaultMetadata(),
|
||||||
|
.time_series = Metric::TimeSeries{.samples = std::vector{Sample(10)}},
|
||||||
|
.stats =
|
||||||
|
Metric::Stats{.mean = 10.0, .stddev = 0.0, .min = 10.0, .max = 10.0}};
|
||||||
|
Metric metric2{
|
||||||
|
.name = "test_metric2",
|
||||||
|
.unit = Unit::kKilobitsPerSecond,
|
||||||
|
.improvement_direction = ImprovementDirection::kSmallerIsBetter,
|
||||||
|
.test_case = "test_case_name2",
|
||||||
|
.metric_metadata = DefaultMetadata(),
|
||||||
|
.time_series = Metric::TimeSeries{.samples = std::vector{Sample(20)}},
|
||||||
|
.stats =
|
||||||
|
Metric::Stats{.mean = 20.0, .stddev = 0.0, .min = 20.0, .max = 20.0}};
|
||||||
|
|
||||||
|
testing::internal::CaptureStdout();
|
||||||
|
PrintResultProxyMetricsExporter exporter;
|
||||||
|
|
||||||
|
std::string expected =
|
||||||
|
"RESULT test_metric1: test_case_name1= 10 "
|
||||||
|
"msBestFitFormat_biggerIsBetter\n"
|
||||||
|
"RESULT test_metric2: test_case_name2= 2500 "
|
||||||
|
"bytesPerSecond_smallerIsBetter\n";
|
||||||
|
|
||||||
|
EXPECT_TRUE(exporter.Export(std::vector<Metric>{metric1, metric2}));
|
||||||
|
EXPECT_EQ(expected, testing::internal::GetCapturedStdout());
|
||||||
|
}
|
||||||
|
|
||||||
TEST(PrintResultProxyMetricsExporterTest,
|
TEST(PrintResultProxyMetricsExporterTest,
|
||||||
ExportMetricsWithStatsOnlyFormatCorrect) {
|
ExportMetricsWithStatsOnlyFormatCorrect) {
|
||||||
Metric metric1{.name = "test_metric1",
|
Metric metric1{.name = "test_metric1",
|
||||||
|
|
Loading…
Reference in a new issue