Upload all values instead of only mean and err into histograms
Bug: None Change-Id: I3c4778bcc8170f5de11b61173dfebbdb5fd9b462 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/208287 Reviewed-by: Andrey Logvin <landrey@webrtc.org> Commit-Queue: Artem Titov <titovartem@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33311}
This commit is contained in:
parent
3d37e06fed
commit
bc9dc5a0b0
@ -42,6 +42,19 @@ std::string UnitWithDirection(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<SamplesStatsCounter::StatsSample> GetSortedSamples(
|
||||||
|
const SamplesStatsCounter& counter) {
|
||||||
|
rtc::ArrayView<const SamplesStatsCounter::StatsSample> view =
|
||||||
|
counter.GetTimedSamples();
|
||||||
|
std::vector<SamplesStatsCounter::StatsSample> out(view.begin(), view.end());
|
||||||
|
std::sort(out.begin(), out.end(),
|
||||||
|
[](const SamplesStatsCounter::StatsSample& a,
|
||||||
|
const SamplesStatsCounter::StatsSample& b) {
|
||||||
|
return a.time < b.time;
|
||||||
|
});
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
|
||||||
template <typename Container>
|
template <typename Container>
|
||||||
void OutputListToStream(std::ostream* ostream, const Container& values) {
|
void OutputListToStream(std::ostream* ostream, const Container& values) {
|
||||||
const char* sep = "";
|
const char* sep = "";
|
||||||
@ -278,8 +291,19 @@ void PrintResult(absl::string_view measurement,
|
|||||||
|
|
||||||
double mean = counter.IsEmpty() ? 0 : counter.GetAverage();
|
double mean = counter.IsEmpty() ? 0 : counter.GetAverage();
|
||||||
double error = counter.IsEmpty() ? 0 : counter.GetStandardDeviation();
|
double error = counter.IsEmpty() ? 0 : counter.GetStandardDeviation();
|
||||||
PrintResultMeanAndError(measurement, modifier, trace, mean, error, units,
|
|
||||||
important, improve_direction);
|
std::vector<SamplesStatsCounter::StatsSample> timed_samples =
|
||||||
|
GetSortedSamples(counter);
|
||||||
|
std::vector<double> samples(timed_samples.size());
|
||||||
|
for (size_t i = 0; i < timed_samples.size(); ++i) {
|
||||||
|
samples[i] = timed_samples[i].value;
|
||||||
|
}
|
||||||
|
|
||||||
|
GetPerfWriter().LogResultList(graph_name.str(), trace, samples, units,
|
||||||
|
important, improve_direction);
|
||||||
|
GetResultsLinePrinter().PrintResultMeanAndError(graph_name.str(), trace, mean,
|
||||||
|
error, units, important,
|
||||||
|
improve_direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PrintResultMeanAndError(absl::string_view measurement,
|
void PrintResultMeanAndError(absl::string_view measurement,
|
||||||
|
|||||||
@ -34,6 +34,25 @@ TEST(PerfHistogramWriterUnittest, TestSimpleHistogram) {
|
|||||||
ASSERT_EQ(histogram_set.histograms_size(), 1);
|
ASSERT_EQ(histogram_set.histograms_size(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(PerfHistogramWriterUnittest, TestListOfValuesHistogram) {
|
||||||
|
std::unique_ptr<PerfTestResultWriter> writer =
|
||||||
|
std::unique_ptr<PerfTestResultWriter>(CreateHistogramWriter());
|
||||||
|
|
||||||
|
std::vector<double> samples{0, 1, 2};
|
||||||
|
writer->LogResultList("-", "-", samples, "ms", false,
|
||||||
|
ImproveDirection::kNone);
|
||||||
|
|
||||||
|
proto::HistogramSet histogram_set;
|
||||||
|
EXPECT_TRUE(histogram_set.ParseFromString(writer->Serialize()))
|
||||||
|
<< "Expected valid histogram set";
|
||||||
|
|
||||||
|
ASSERT_EQ(histogram_set.histograms_size(), 1);
|
||||||
|
ASSERT_EQ(histogram_set.histograms(0).sample_values_size(), 3);
|
||||||
|
EXPECT_EQ(histogram_set.histograms(0).sample_values(0), 0);
|
||||||
|
EXPECT_EQ(histogram_set.histograms(0).sample_values(1), 1);
|
||||||
|
EXPECT_EQ(histogram_set.histograms(0).sample_values(2), 2);
|
||||||
|
}
|
||||||
|
|
||||||
TEST(PerfHistogramWriterUnittest, WritesSamplesAndUserStory) {
|
TEST(PerfHistogramWriterUnittest, WritesSamplesAndUserStory) {
|
||||||
std::unique_ptr<PerfTestResultWriter> writer =
|
std::unique_ptr<PerfTestResultWriter> writer =
|
||||||
std::unique_ptr<PerfTestResultWriter>(CreateHistogramWriter());
|
std::unique_ptr<PerfTestResultWriter>(CreateHistogramWriter());
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user