diff --git a/webrtc/video/send_statistics_proxy.cc b/webrtc/video/send_statistics_proxy.cc index 5be9970583..916ffb3baa 100644 --- a/webrtc/video/send_statistics_proxy.cc +++ b/webrtc/video/send_statistics_proxy.cc @@ -121,6 +121,15 @@ void SendStatisticsProxy::UpdateHistograms() { RTC_HISTOGRAM_ENUMERATION( "WebRTC.Video.BandwidthLimitedResolutionsDisabled", num_disabled, 10); } + int delay_ms = delay_counter_.Avg(kMinRequiredSamples); + if (delay_ms != -1) + RTC_HISTOGRAM_COUNTS_100000("WebRTC.Video.SendSideDelayInMs", delay_ms); + + int max_delay_ms = max_delay_counter_.Avg(kMinRequiredSamples); + if (max_delay_ms != -1) { + RTC_HISTOGRAM_COUNTS_100000( + "WebRTC.Video.SendSideDelayMaxInMs", max_delay_ms); + } } void SendStatisticsProxy::OnOutgoingRate(uint32_t framerate, uint32_t bitrate) { @@ -337,6 +346,9 @@ void SendStatisticsProxy::SendSideDelayUpdated(int avg_delay_ms, return; stats->avg_delay_ms = avg_delay_ms; stats->max_delay_ms = max_delay_ms; + + delay_counter_.Add(avg_delay_ms); + max_delay_counter_.Add(max_delay_ms); } void SendStatisticsProxy::SampleCounter::Add(int sample) { diff --git a/webrtc/video/send_statistics_proxy.h b/webrtc/video/send_statistics_proxy.h index 26ea09c4c4..2939a671d1 100644 --- a/webrtc/video/send_statistics_proxy.h +++ b/webrtc/video/send_statistics_proxy.h @@ -142,6 +142,8 @@ class SendStatisticsProxy : public CpuOveruseMetricsObserver, SampleCounter quality_downscales_counter_ GUARDED_BY(crit_); BoolSampleCounter bw_limited_frame_counter_ GUARDED_BY(crit_); SampleCounter bw_resolutions_disabled_counter_ GUARDED_BY(crit_); + SampleCounter delay_counter_ GUARDED_BY(crit_); + SampleCounter max_delay_counter_ GUARDED_BY(crit_); }; } // namespace webrtc