Don't report perf metrics for packet loss ramp-up tests.

BUG=chromium:699072

Review-Url: https://codereview.webrtc.org/2744603002
Cr-Commit-Position: refs/heads/master@{#17145}
This commit is contained in:
stefan 2017-03-09 06:27:02 -08:00 committed by Commit bot
parent 67fdb80837
commit 45b5fe549f
2 changed files with 32 additions and 22 deletions

View File

@ -51,11 +51,11 @@ RampUpTester::RampUpTester(size_t num_video_streams,
num_flexfec_streams_(num_flexfec_streams),
rtx_(rtx),
red_(red),
report_perf_stats_(report_perf_stats),
sender_call_(nullptr),
send_stream_(nullptr),
start_bitrate_bps_(start_bitrate_bps),
min_run_time_ms_(min_run_time_ms),
report_perf_stats_(report_perf_stats),
expected_bitrate_bps_(0),
test_start_ms_(-1),
ramp_up_finished_ms_(-1),
@ -390,7 +390,8 @@ RampUpDownUpTester::RampUpDownUpTester(size_t num_video_streams,
const std::string& extension_type,
bool rtx,
bool red,
const std::vector<int>& loss_rates)
const std::vector<int>& loss_rates,
bool report_perf_stats)
: RampUpTester(num_video_streams,
num_audio_streams,
num_flexfec_streams,
@ -399,7 +400,7 @@ RampUpDownUpTester::RampUpDownUpTester(size_t num_video_streams,
extension_type,
rtx,
red,
true),
report_perf_stats),
link_rates_({GetHighLinkCapacity(), kLowBandwidthLimitBps / 1000,
GetHighLinkCapacity(), 0}),
test_state_(kFirstRampup),
@ -495,9 +496,11 @@ void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) {
case kFirstRampup:
EXPECT_FALSE(suspended);
if (bitrate_bps >= GetExpectedHighBitrate()) {
webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
"first_rampup", now - state_start_ms_, "ms",
false);
if (report_perf_stats_) {
webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
"first_rampup", now - state_start_ms_, "ms",
false);
}
// Apply loss during the transition between states if FEC is enabled.
forward_transport_config_.loss_percent = loss_rates_[test_state_];
test_state_ = kTransitionToNextState;
@ -509,9 +512,11 @@ void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) {
bool check_suspend_state = num_video_streams_ > 0;
if (bitrate_bps < kExpectedLowBitrateBps &&
suspended == check_suspend_state) {
webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
"rampdown", now - state_start_ms_, "ms",
false);
if (report_perf_stats_) {
webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
"rampdown", now - state_start_ms_, "ms",
false);
}
// Apply loss during the transition between states if FEC is enabled.
forward_transport_config_.loss_percent = loss_rates_[test_state_];
test_state_ = kTransitionToNextState;
@ -521,11 +526,13 @@ void RampUpDownUpTester::EvolveTestState(int bitrate_bps, bool suspended) {
}
case kSecondRampup:
if (bitrate_bps >= GetExpectedHighBitrate() && !suspended) {
webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
"second_rampup", now - state_start_ms_, "ms",
false);
ReportResult("ramp-up-down-up-average-network-latency",
send_transport_->GetAverageDelayMs(), "milliseconds");
if (report_perf_stats_) {
webrtc::test::PrintResult("ramp_up_down_up", GetModifierString(),
"second_rampup", now - state_start_ms_,
"ms", false);
ReportResult("ramp-up-down-up-average-network-latency",
send_transport_->GetAverageDelayMs(), "milliseconds");
}
// Apply loss during the transition between states if FEC is enabled.
forward_transport_config_.loss_percent = loss_rates_[test_state_];
test_state_ = kTransitionToNextState;
@ -566,8 +573,8 @@ static const uint32_t kStartBitrateBps = 60000;
TEST_F(RampUpTest, UpDownUpAbsSendTimeSimulcastRedRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
RampUpDownUpTester test(3, 0, 0, kStartBitrateBps,
RtpExtension::kAbsSendTimeUri, true, true,
loss_rates);
RtpExtension::kAbsSendTimeUri, true, true, loss_rates,
true);
RunBaseTest(&test);
}
@ -575,15 +582,17 @@ TEST_F(RampUpTest, UpDownUpTransportSequenceNumberRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
RampUpDownUpTester test(3, 0, 0, kStartBitrateBps,
RtpExtension::kTransportSequenceNumberUri, true,
false, loss_rates);
false, loss_rates, true);
RunBaseTest(&test);
}
// TODO(holmer): Tests which don't report perf stats should be moved to a
// different executable since they per definition are not perf tests.
TEST_F(RampUpTest, UpDownUpTransportSequenceNumberPacketLoss) {
std::vector<int> loss_rates = {20, 0, 0, 0};
RampUpDownUpTester test(1, 0, 1, kStartBitrateBps,
RtpExtension::kTransportSequenceNumberUri, true,
false, loss_rates);
false, loss_rates, false);
RunBaseTest(&test);
}
@ -591,7 +600,7 @@ TEST_F(RampUpTest, UpDownUpAudioVideoTransportSequenceNumberRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
RampUpDownUpTester test(3, 1, 0, kStartBitrateBps,
RtpExtension::kTransportSequenceNumberUri, true,
false, loss_rates);
false, loss_rates, true);
RunBaseTest(&test);
}
@ -599,7 +608,7 @@ TEST_F(RampUpTest, UpDownUpAudioTransportSequenceNumberRtx) {
std::vector<int> loss_rates = {0, 0, 0, 0};
RampUpDownUpTester test(0, 1, 0, kStartBitrateBps,
RtpExtension::kTransportSequenceNumberUri, true,
false, loss_rates);
false, loss_rates, true);
RunBaseTest(&test);
}

View File

@ -71,6 +71,7 @@ class RampUpTester : public test::EndToEndTest {
const size_t num_flexfec_streams_;
const bool rtx_;
const bool red_;
const bool report_perf_stats_;
Call* sender_call_;
VideoSendStream* send_stream_;
test::PacketTransport* send_transport_;
@ -99,7 +100,6 @@ class RampUpTester : public test::EndToEndTest {
const int start_bitrate_bps_;
const int64_t min_run_time_ms_;
const bool report_perf_stats_;
int expected_bitrate_bps_;
int64_t test_start_ms_;
int64_t ramp_up_finished_ms_;
@ -121,7 +121,8 @@ class RampUpDownUpTester : public RampUpTester {
const std::string& extension_type,
bool rtx,
bool red,
const std::vector<int>& loss_rates);
const std::vector<int>& loss_rates,
bool report_perf_stats);
~RampUpDownUpTester() override;
protected: