From 34d990fef9312eaa4b165908f943f73314900bd8 Mon Sep 17 00:00:00 2001 From: Minyue Li Date: Tue, 16 Oct 2018 16:55:52 +0200 Subject: [PATCH] Adding NetEq buffer full metric to UMA. BUG: webrtc:9882 Change-Id: Idbcbbbd99855b2251fbb66629efeab4f2d1f6498 Reviewed-on: https://webrtc-review.googlesource.com/c/106400 Commit-Queue: Minyue Li Reviewed-by: Henrik Lundin Reviewed-by: Ivo Creusen Cr-Commit-Position: refs/heads/master@{#25230} --- modules/audio_coding/neteq/statistics_calculator.cc | 7 ++++++- modules/audio_coding/neteq/statistics_calculator.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/audio_coding/neteq/statistics_calculator.cc b/modules/audio_coding/neteq/statistics_calculator.cc index c0e7a402aa..807d7ee401 100644 --- a/modules/audio_coding/neteq/statistics_calculator.cc +++ b/modules/audio_coding/neteq/statistics_calculator.cc @@ -126,7 +126,10 @@ StatisticsCalculator::StatisticsCalculator() 100), excess_buffer_delay_("WebRTC.Audio.AverageExcessBufferDelayMs", 60000, // 60 seconds report interval. - 1000) {} + 1000), + buffer_full_counter_("WebRTC.Audio.JitterBufferFullPerMinute", + 60000, // 60 seconds report interval. + 100) {} StatisticsCalculator::~StatisticsCalculator() = default; @@ -229,6 +232,7 @@ void StatisticsCalculator::IncreaseCounter(size_t num_samples, int fs_hz) { rtc::CheckedDivExact(static_cast(1000 * num_samples), fs_hz); delayed_packet_outage_counter_.AdvanceClock(time_step_ms); excess_buffer_delay_.AdvanceClock(time_step_ms); + buffer_full_counter_.AdvanceClock(time_step_ms); timestamps_since_last_report_ += static_cast(num_samples); if (timestamps_since_last_report_ > static_cast(fs_hz * kMaxReportPeriod)) { @@ -250,6 +254,7 @@ void StatisticsCalculator::SecondaryDecodedSamples(int num_samples) { void StatisticsCalculator::FlushedPacketBuffer() { operations_and_state_.packet_buffer_flushes++; + buffer_full_counter_.RegisterSample(); } void StatisticsCalculator::LogDelayedPacketOutageEvent(int outage_duration_ms) { diff --git a/modules/audio_coding/neteq/statistics_calculator.h b/modules/audio_coding/neteq/statistics_calculator.h index 9e5dacfd92..6a5f7f4d13 100644 --- a/modules/audio_coding/neteq/statistics_calculator.h +++ b/modules/audio_coding/neteq/statistics_calculator.h @@ -199,6 +199,7 @@ class StatisticsCalculator { size_t discarded_secondary_packets_; PeriodicUmaCount delayed_packet_outage_counter_; PeriodicUmaAverage excess_buffer_delay_; + PeriodicUmaCount buffer_full_counter_; RTC_DISALLOW_COPY_AND_ASSIGN(StatisticsCalculator); };