Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: webrtc/modules/bitrate_controller/send_side_bandwidth_estimation.cc

Issue 1530913002: Rename RTC_HISTOGRAM_* macros to RTC_HISTOGRAM_*_SPARSE_* to indicate that these are for infrequent (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 UpdateUmaStats(now_ms, rtt, (fraction_loss * number_of_packets) >> 8); 139 UpdateUmaStats(now_ms, rtt, (fraction_loss * number_of_packets) >> 8);
140 } 140 }
141 141
142 void SendSideBandwidthEstimation::UpdateUmaStats(int64_t now_ms, 142 void SendSideBandwidthEstimation::UpdateUmaStats(int64_t now_ms,
143 int64_t rtt, 143 int64_t rtt,
144 int lost_packets) { 144 int lost_packets) {
145 int bitrate_kbps = static_cast<int>((bitrate_ + 500) / 1000); 145 int bitrate_kbps = static_cast<int>((bitrate_ + 500) / 1000);
146 for (size_t i = 0; i < kNumUmaRampupMetrics; ++i) { 146 for (size_t i = 0; i < kNumUmaRampupMetrics; ++i) {
147 if (!rampup_uma_stats_updated_[i] && 147 if (!rampup_uma_stats_updated_[i] &&
148 bitrate_kbps >= kUmaRampupMetrics[i].bitrate_kbps) { 148 bitrate_kbps >= kUmaRampupMetrics[i].bitrate_kbps) {
149 RTC_HISTOGRAM_COUNTS_100000(kUmaRampupMetrics[i].metric_name, 149 RTC_HISTOGRAM_COUNTS_SPARSE_100000(kUmaRampupMetrics[i].metric_name,
150 now_ms - first_report_time_ms_); 150 now_ms - first_report_time_ms_);
151 rampup_uma_stats_updated_[i] = true; 151 rampup_uma_stats_updated_[i] = true;
152 } 152 }
153 } 153 }
154 if (IsInStartPhase(now_ms)) { 154 if (IsInStartPhase(now_ms)) {
155 initially_lost_packets_ += lost_packets; 155 initially_lost_packets_ += lost_packets;
156 } else if (uma_update_state_ == kNoUpdate) { 156 } else if (uma_update_state_ == kNoUpdate) {
157 uma_update_state_ = kFirstDone; 157 uma_update_state_ = kFirstDone;
158 bitrate_at_2_seconds_kbps_ = bitrate_kbps; 158 bitrate_at_2_seconds_kbps_ = bitrate_kbps;
159 RTC_HISTOGRAM_COUNTS( 159 RTC_HISTOGRAM_COUNTS_SPARSE("WebRTC.BWE.InitiallyLostPackets",
160 "WebRTC.BWE.InitiallyLostPackets", initially_lost_packets_, 0, 100, 50); 160 initially_lost_packets_, 0, 100, 50);
161 RTC_HISTOGRAM_COUNTS( 161 RTC_HISTOGRAM_COUNTS_SPARSE("WebRTC.BWE.InitialRtt", static_cast<int>(rtt),
162 "WebRTC.BWE.InitialRtt", static_cast<int>(rtt), 0, 2000, 50); 162 0, 2000, 50);
163 RTC_HISTOGRAM_COUNTS("WebRTC.BWE.InitialBandwidthEstimate", 163 RTC_HISTOGRAM_COUNTS_SPARSE("WebRTC.BWE.InitialBandwidthEstimate",
164 bitrate_at_2_seconds_kbps_, 164 bitrate_at_2_seconds_kbps_, 0, 2000, 50);
165 0,
166 2000,
167 50);
168 } else if (uma_update_state_ == kFirstDone && 165 } else if (uma_update_state_ == kFirstDone &&
169 now_ms - first_report_time_ms_ >= kBweConverganceTimeMs) { 166 now_ms - first_report_time_ms_ >= kBweConverganceTimeMs) {
170 uma_update_state_ = kDone; 167 uma_update_state_ = kDone;
171 int bitrate_diff_kbps = 168 int bitrate_diff_kbps =
172 std::max(bitrate_at_2_seconds_kbps_ - bitrate_kbps, 0); 169 std::max(bitrate_at_2_seconds_kbps_ - bitrate_kbps, 0);
173 RTC_HISTOGRAM_COUNTS( 170 RTC_HISTOGRAM_COUNTS_SPARSE("WebRTC.BWE.InitialVsConvergedDiff",
174 "WebRTC.BWE.InitialVsConvergedDiff", bitrate_diff_kbps, 0, 2000, 50); 171 bitrate_diff_kbps, 0, 2000, 50);
175 } 172 }
176 } 173 }
177 174
178 void SendSideBandwidthEstimation::UpdateEstimate(int64_t now_ms) { 175 void SendSideBandwidthEstimation::UpdateEstimate(int64_t now_ms) {
179 // We trust the REMB during the first 2 seconds if we haven't had any 176 // We trust the REMB during the first 2 seconds if we haven't had any
180 // packet loss reported, to allow startup bitrate probing. 177 // packet loss reported, to allow startup bitrate probing.
181 if (last_fraction_loss_ == 0 && IsInStartPhase(now_ms) && 178 if (last_fraction_loss_ == 0 && IsInStartPhase(now_ms) &&
182 bwe_incoming_ > bitrate_) { 179 bwe_incoming_ > bitrate_) {
183 bitrate_ = CapBitrateToThresholds(now_ms, bwe_incoming_); 180 bitrate_ = CapBitrateToThresholds(now_ms, bwe_incoming_);
184 min_bitrate_history_.clear(); 181 min_bitrate_history_.clear();
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 bitrate = min_bitrate_configured_; 282 bitrate = min_bitrate_configured_;
286 } 283 }
287 return bitrate; 284 return bitrate;
288 } 285 }
289 286
290 void SendSideBandwidthEstimation::SetEventLog(RtcEventLog* event_log) { 287 void SendSideBandwidthEstimation::SetEventLog(RtcEventLog* event_log) {
291 event_log_ = event_log; 288 event_log_ = event_log;
292 } 289 }
293 290
294 } // namespace webrtc 291 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/audio_processing/audio_processing_impl.cc ('k') | webrtc/modules/video_coding/jitter_buffer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698