Add histogram stats for jitter buffer delay and current/target delay for received video streams:
- "WebRTC.Video.JitterBufferDelayInMs" - "WebRTC.Video.TargetDelayInMs" (jitter delay + decode time + render delay) - "WebRTC.Video.CurrentDelayInMs" BUG= Review-Url: https://codereview.webrtc.org/1885393002 Cr-Commit-Position: refs/heads/master@{#12539}
This commit is contained in:
parent
3d09dfdbba
commit
8688a4e2b5
@ -2147,6 +2147,9 @@ void EndToEndTest::VerifyHistogramStats(bool use_rtx,
|
||||
"WebRTC.Video.DecodedFramesPerSecond"));
|
||||
EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.RenderFramesPerSecond"));
|
||||
|
||||
EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.JitterBufferDelayInMs"));
|
||||
EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.TargetDelayInMs"));
|
||||
EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.CurrentDelayInMs"));
|
||||
EXPECT_EQ(1, test::NumHistogramSamples("WebRTC.Video.OnewayDelayInMs"));
|
||||
EXPECT_EQ(
|
||||
1, test::NumHistogramSamples("WebRTC.Video.RenderSqrtPixelsPerSecond"));
|
||||
|
||||
@ -77,6 +77,22 @@ void ReceiveStatisticsProxy::UpdateHistograms() {
|
||||
if (decode_ms != -1)
|
||||
RTC_LOGGED_HISTOGRAM_COUNTS_1000("WebRTC.Video.DecodeTimeInMs", decode_ms);
|
||||
|
||||
int jb_delay_ms = jitter_buffer_delay_counter_.Avg(kMinRequiredDecodeSamples);
|
||||
if (jb_delay_ms != -1) {
|
||||
RTC_LOGGED_HISTOGRAM_COUNTS_10000("WebRTC.Video.JitterBufferDelayInMs",
|
||||
jb_delay_ms);
|
||||
}
|
||||
int target_delay_ms = target_delay_counter_.Avg(kMinRequiredDecodeSamples);
|
||||
if (target_delay_ms != -1) {
|
||||
RTC_LOGGED_HISTOGRAM_COUNTS_10000("WebRTC.Video.TargetDelayInMs",
|
||||
target_delay_ms);
|
||||
}
|
||||
int current_delay_ms = current_delay_counter_.Avg(kMinRequiredDecodeSamples);
|
||||
if (current_delay_ms != -1) {
|
||||
RTC_LOGGED_HISTOGRAM_COUNTS_10000("WebRTC.Video.CurrentDelayInMs",
|
||||
current_delay_ms);
|
||||
}
|
||||
|
||||
int delay_ms = delay_counter_.Avg(kMinRequiredDecodeSamples);
|
||||
if (delay_ms != -1)
|
||||
RTC_LOGGED_HISTOGRAM_COUNTS_10000("WebRTC.Video.OnewayDelayInMs", delay_ms);
|
||||
@ -170,6 +186,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);
|
||||
jitter_buffer_delay_counter_.Add(jitter_buffer_ms);
|
||||
target_delay_counter_.Add(target_delay_ms);
|
||||
current_delay_counter_.Add(current_delay_ms);
|
||||
// Network delay (rtt/2) + target_delay_ms (jitter delay + decode time +
|
||||
// render delay).
|
||||
delay_counter_.Add(target_delay_ms + rtt_ms / 2);
|
||||
|
||||
@ -108,6 +108,9 @@ class ReceiveStatisticsProxy : public VCMReceiveStatisticsCallback,
|
||||
SampleCounter render_height_counter_ GUARDED_BY(crit_);
|
||||
SampleCounter sync_offset_counter_ GUARDED_BY(crit_);
|
||||
SampleCounter decode_time_counter_ GUARDED_BY(crit_);
|
||||
SampleCounter jitter_buffer_delay_counter_ GUARDED_BY(crit_);
|
||||
SampleCounter target_delay_counter_ GUARDED_BY(crit_);
|
||||
SampleCounter current_delay_counter_ GUARDED_BY(crit_);
|
||||
SampleCounter delay_counter_ GUARDED_BY(crit_);
|
||||
ReportBlockStats report_block_stats_ GUARDED_BY(crit_);
|
||||
QpCounters qp_counters_; // Only accessed on the decoding thread.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user