| Index: webrtc/video/receive_statistics_proxy.cc | 
| diff --git a/webrtc/video/receive_statistics_proxy.cc b/webrtc/video/receive_statistics_proxy.cc | 
| index b6063a80afbb1719b2c013a0881a52910da3a38d..534428b7eeec9b6d8ff49ffe0cb8d94650632394 100644 | 
| --- a/webrtc/video/receive_statistics_proxy.cc | 
| +++ b/webrtc/video/receive_statistics_proxy.cc | 
| @@ -53,6 +53,10 @@ void ReceiveStatisticsProxy::UpdateHistograms() { | 
| int decode_ms = decode_time_counter_.Avg(kMinRequiredDecodeSamples); | 
| if (decode_ms != -1) | 
| RTC_HISTOGRAM_COUNTS_1000("WebRTC.Video.DecodeTimeInMs", decode_ms); | 
| + | 
| +  int delay_ms = delay_counter_.Avg(kMinRequiredDecodeSamples); | 
| +  if (delay_ms != -1) | 
| +    RTC_HISTOGRAM_COUNTS_10000("WebRTC.Video.OnewayDelayInMs", delay_ms); | 
| } | 
|  | 
| VideoReceiveStream::Stats ReceiveStatisticsProxy::GetStats() const { | 
| @@ -78,7 +82,8 @@ void ReceiveStatisticsProxy::OnDecoderTiming(int decode_ms, | 
| int target_delay_ms, | 
| int jitter_buffer_ms, | 
| int min_playout_delay_ms, | 
| -                                             int render_delay_ms) { | 
| +                                             int render_delay_ms, | 
| +                                             int64_t rtt_ms) { | 
| rtc::CritScope lock(&crit_); | 
| stats_.decode_ms = decode_ms; | 
| stats_.max_decode_ms = max_decode_ms; | 
| @@ -88,6 +93,9 @@ void ReceiveStatisticsProxy::OnDecoderTiming(int decode_ms, | 
| stats_.min_playout_delay_ms = min_playout_delay_ms; | 
| stats_.render_delay_ms = render_delay_ms; | 
| decode_time_counter_.Add(decode_ms); | 
| +  // Network delay (rtt/2) + target_delay_ms (jitter delay + decode time + | 
| +  // render delay). | 
| +  delay_counter_.Add(target_delay_ms + rtt_ms / 2); | 
| } | 
|  | 
| void ReceiveStatisticsProxy::RtcpPacketTypesCounterUpdated( | 
|  |