Fix reporting of perf results on PlaysOutAudioAndVideoInSync* tests
All of the PlaysOutAudioAndVideoInSync* tests were reporting metrics under
the same name ("sync_convergence_time/synchronization") so that only one of
the tests (whichever ran last) had its metrics reported to the dashboard,
while the others were silently ignored.
I added a suffix to differentiate between them.
Bug: webrtc:8566
Change-Id: Ia51f0441d28b202581c5b22ef5ea683091557ab8
Reviewed-on: https://webrtc-review.googlesource.com/36541
Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21501}diff --git a/call/call_perf_tests.cc b/call/call_perf_tests.cc
index db3b5e4..f0c781c 100644
--- a/call/call_perf_tests.cc
+++ b/call/call_perf_tests.cc
@@ -59,7 +59,8 @@
CreateOrder create_first,
float video_ntp_speed,
float video_rtp_speed,
- float audio_rtp_speed);
+ float audio_rtp_speed,
+ const std::string& test_label);
void TestMinTransmitBitrate(bool pad_to_min_bitrate);
@@ -83,9 +84,10 @@
static const int kMinRunTimeMs = 30000;
public:
- explicit VideoRtcpAndSyncObserver(Clock* clock)
+ explicit VideoRtcpAndSyncObserver(Clock* clock, const std::string& test_label)
: test::RtpRtcpObserver(CallPerfTest::kLongTimeoutMs),
clock_(clock),
+ test_label_(test_label),
creation_time_ms_(clock_->TimeInMilliseconds()),
first_time_in_sync_(-1),
receive_stream_(nullptr) {}
@@ -109,11 +111,8 @@
if (std::abs(stats.sync_offset_ms) < kInSyncThresholdMs) {
if (first_time_in_sync_ == -1) {
first_time_in_sync_ = now_ms;
- webrtc::test::PrintResult("sync_convergence_time",
- "",
- "synchronization",
- time_since_creation,
- "ms",
+ webrtc::test::PrintResult("sync_convergence_time", test_label_,
+ "synchronization", time_since_creation, "ms",
false);
}
if (time_since_creation > kMinRunTimeMs)
@@ -129,12 +128,13 @@
}
void PrintResults() {
- test::PrintResultList("stream_offset", "", "synchronization",
+ test::PrintResultList("stream_offset", test_label_, "synchronization",
sync_offset_ms_list_, "ms", false);
}
private:
Clock* const clock_;
+ std::string test_label_;
const int64_t creation_time_ms_;
int64_t first_time_in_sync_;
rtc::CriticalSection crit_;
@@ -146,7 +146,8 @@
CreateOrder create_first,
float video_ntp_speed,
float video_rtp_speed,
- float audio_rtp_speed) {
+ float audio_rtp_speed,
+ const std::string& test_label) {
const char* kSyncGroup = "av_sync";
const uint32_t kAudioSendSsrc = 1234;
const uint32_t kAudioRecvSsrc = 5678;
@@ -160,7 +161,7 @@
VoiceEngine* voice_engine;
VoEBase* voe_base;
- VideoRtcpAndSyncObserver observer(Clock::GetRealTimeClock());
+ VideoRtcpAndSyncObserver observer(Clock::GetRealTimeClock(), test_label);
std::map<uint8_t, MediaType> audio_pt_map;
std::map<uint8_t, MediaType> video_pt_map;
@@ -323,21 +324,22 @@
TEST_F(CallPerfTest, PlaysOutAudioAndVideoInSyncWithVideoNtpDrift) {
TestAudioVideoSync(FecMode::kOff, CreateOrder::kAudioFirst,
DriftingClock::PercentsFaster(10.0f),
- DriftingClock::kNoDrift, DriftingClock::kNoDrift);
+ DriftingClock::kNoDrift, DriftingClock::kNoDrift,
+ "_video_ntp_drift");
}
TEST_F(CallPerfTest, PlaysOutAudioAndVideoInSyncWithAudioFasterThanVideoDrift) {
TestAudioVideoSync(FecMode::kOff, CreateOrder::kAudioFirst,
DriftingClock::kNoDrift,
DriftingClock::PercentsSlower(30.0f),
- DriftingClock::PercentsFaster(30.0f));
+ DriftingClock::PercentsFaster(30.0f), "_audio_faster");
}
TEST_F(CallPerfTest, PlaysOutAudioAndVideoInSyncWithVideoFasterThanAudioDrift) {
TestAudioVideoSync(FecMode::kOn, CreateOrder::kVideoFirst,
DriftingClock::kNoDrift,
DriftingClock::PercentsFaster(30.0f),
- DriftingClock::PercentsSlower(30.0f));
+ DriftingClock::PercentsSlower(30.0f), "_video_faster");
}
void CallPerfTest::TestCaptureNtpTime(const FakeNetworkPipe::Config& net_config,