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

Issue 2235373004: Probing: Add support for exponential startup probing (Closed)

Created:
4 years, 4 months ago by Irfan
Modified:
4 years, 3 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhuangzesen_agora.io, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@fix_probing2
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Probing: Add support for exponential startup probing Adds support for exponentially probing the bandwidth at start-up to allow ramp-up to real capacity of the network. BUG=webrtc:6332 R=philipel@webrtc.org, stefan@webrtc.org Committed: https://chromium.googlesource.com/external/webrtc/+/b2540bb99fa974bc8cb66eeff9c6b6d7fd0c36eb

Patch Set 1 #

Patch Set 2 : Updates #

Total comments: 29

Patch Set 3 : Addressed comments #

Total comments: 19

Patch Set 4 : Addressed comments #

Total comments: 12

Patch Set 5 : Refactored probe_controller #

Total comments: 9

Patch Set 6 : Address comments and add unit tests #

Total comments: 6

Patch Set 7 : Addressed comments #

Total comments: 4

Patch Set 8 : Fixed nit #

Patch Set 9 : lint fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+353 lines, -112 lines) Patch
M webrtc/modules/BUILD.gn View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/bitrate_controller/bitrate_controller_impl.h View 1 2 3 4 5 6 7 8 4 chunks +6 lines, -3 lines 0 comments Download
M webrtc/modules/bitrate_controller/bitrate_controller_impl.cc View 1 2 3 4 5 6 7 4 chunks +8 lines, -4 lines 0 comments Download
M webrtc/modules/bitrate_controller/bitrate_controller_unittest.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/bitrate_controller/include/bitrate_controller.h View 1 2 3 4 5 6 7 3 chunks +2 lines, -5 lines 0 comments Download
M webrtc/modules/congestion_controller/BUILD.gn View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/modules/congestion_controller/congestion_controller.cc View 1 2 3 4 5 6 7 7 chunks +11 lines, -26 lines 0 comments Download
M webrtc/modules/congestion_controller/congestion_controller.gypi View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M webrtc/modules/congestion_controller/congestion_controller_unittest.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/congestion_controller/delay_based_bwe.h View 1 2 3 4 5 6 2 chunks +6 lines, -1 line 0 comments Download
M webrtc/modules/congestion_controller/delay_based_bwe.cc View 1 2 3 4 5 6 7 5 chunks +42 lines, -39 lines 0 comments Download
M webrtc/modules/congestion_controller/delay_based_bwe_unittest_helper.cc View 1 2 3 4 5 1 chunk +2 lines, -3 lines 0 comments Download
M webrtc/modules/congestion_controller/include/congestion_controller.h View 1 2 3 4 5 6 2 chunks +2 lines, -1 line 0 comments Download
A webrtc/modules/congestion_controller/probe_controller.h View 1 2 3 4 5 1 chunk +62 lines, -0 lines 0 comments Download
A webrtc/modules/congestion_controller/probe_controller.cc View 1 2 3 4 5 1 chunk +113 lines, -0 lines 0 comments Download
A webrtc/modules/congestion_controller/probe_controller_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +82 lines, -0 lines 0 comments Download
M webrtc/modules/modules.gyp View 1 2 3 4 5 6 7 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/pacing/bitrate_prober.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/pacing/mock/mock_paced_sender.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/pacing/paced_sender.h View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.h View 1 2 3 4 3 chunks +2 lines, -12 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter.cc View 1 2 3 4 2 chunks +0 lines, -12 lines 0 comments Download
M webrtc/modules/remote_bitrate_estimator/transport_feedback_adapter_unittest.cc View 1 2 3 4 5 6 2 chunks +3 lines, -2 lines 0 comments Download
M webrtc/tools/event_log_visualizer/analyzer.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 43 (12 generated)
Irfan
PTAL. I have rebased this on top of philip's CL. The tests will need fixes, ...
4 years, 4 months ago (2016-08-12 06:25:58 UTC) #3
Irfan
PS#2 adds some updates based on changes in https://codereview.chromium.org/2239143002/ I think I need to rebase ...
4 years, 4 months ago (2016-08-16 06:44:42 UTC) #4
stefan-webrtc
https://codereview.chromium.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc File webrtc/modules/congestion_controller/delay_based_bwe.cc (right): https://codereview.chromium.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc#newcode128 webrtc/modules/congestion_controller/delay_based_bwe.cc:128: // Overuse End the comments with "." https://codereview.chromium.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc#newcode140 webrtc/modules/congestion_controller/delay_based_bwe.cc:140: ...
4 years, 4 months ago (2016-08-16 11:27:05 UTC) #5
philipel
https://codereview.webrtc.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc File webrtc/modules/congestion_controller/delay_based_bwe.cc (right): https://codereview.webrtc.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc#newcode121 webrtc/modules/congestion_controller/delay_based_bwe.cc:121: probe_bitrate_estimator_.HandleProbeAndEstimateBitrate(info, 2); Seems like probe_bitrate_estimator.h/.cc haven't been uploaded, can ...
4 years, 4 months ago (2016-08-16 14:44:43 UTC) #6
Irfan
https://codereview.chromium.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc File webrtc/modules/congestion_controller/delay_based_bwe.cc (right): https://codereview.chromium.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc#newcode121 webrtc/modules/congestion_controller/delay_based_bwe.cc:121: probe_bitrate_estimator_.HandleProbeAndEstimateBitrate(info, 2); On 2016/08/16 14:44:43, philipel wrote: > Seems ...
4 years, 4 months ago (2016-08-16 16:04:17 UTC) #7
Irfan
https://codereview.chromium.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc File webrtc/modules/congestion_controller/delay_based_bwe.cc (right): https://codereview.chromium.org/2235373004/diff/20001/webrtc/modules/congestion_controller/delay_based_bwe.cc#newcode128 webrtc/modules/congestion_controller/delay_based_bwe.cc:128: // Overuse On 2016/08/16 11:27:04, stefan-webrtc (holmer) wrote: > ...
4 years, 4 months ago (2016-08-16 18:12:47 UTC) #8
Irfan
PTAL. The big changes are moving most of the logic to bitrate_prober (thanks for the ...
4 years, 4 months ago (2016-08-16 23:23:54 UTC) #9
Irfan
+ Danil in case he has time to look as well This is the design ...
4 years, 4 months ago (2016-08-18 20:33:07 UTC) #11
danilchap
I'm not deep enough in BWE part, so mostly style comments. Is it reasonable to ...
4 years, 4 months ago (2016-08-19 17:19:34 UTC) #12
Irfan
I moved the uint32-> int cleanup into a separate CL. Philip/Stefan, This is ready for ...
4 years, 4 months ago (2016-08-23 05:46:57 UTC) #13
danilchap
https://codereview.webrtc.org/2235373004/diff/40001/webrtc/modules/pacing/bitrate_prober.cc File webrtc/modules/pacing/bitrate_prober.cc (right): https://codereview.webrtc.org/2235373004/diff/40001/webrtc/modules/pacing/bitrate_prober.cc#newcode78 webrtc/modules/pacing/bitrate_prober.cc:78: case State::kWaitForResult: On 2016/08/23 05:46:57, Irfan wrote: > On ...
4 years, 4 months ago (2016-08-23 17:59:29 UTC) #14
philipel
https://codereview.webrtc.org/2235373004/diff/60001/webrtc/modules/pacing/bitrate_prober.cc File webrtc/modules/pacing/bitrate_prober.cc (right): https://codereview.webrtc.org/2235373004/diff/60001/webrtc/modules/pacing/bitrate_prober.cc#newcode78 webrtc/modules/pacing/bitrate_prober.cc:78: void BitrateProber::SetEstimatedBitrate(int bitrate_bps) { In order to make the ...
4 years, 3 months ago (2016-08-25 10:39:56 UTC) #15
stefan-webrtc
https://codereview.webrtc.org/2235373004/diff/60001/webrtc/modules/congestion_controller/delay_based_bwe.cc File webrtc/modules/congestion_controller/delay_based_bwe.cc (right): https://codereview.webrtc.org/2235373004/diff/60001/webrtc/modules/congestion_controller/delay_based_bwe.cc#newcode131 webrtc/modules/congestion_controller/delay_based_bwe.cc:131: remote_rate_.SetEstimate(probing_bps, info.arrival_time_ms); Should we DCHECK here somewhere that probing_bps ...
4 years, 3 months ago (2016-09-02 13:10:22 UTC) #16
philipel
https://codereview.webrtc.org/2235373004/diff/60001/webrtc/modules/pacing/bitrate_prober.cc File webrtc/modules/pacing/bitrate_prober.cc (right): https://codereview.webrtc.org/2235373004/diff/60001/webrtc/modules/pacing/bitrate_prober.cc#newcode78 webrtc/modules/pacing/bitrate_prober.cc:78: void BitrateProber::SetEstimatedBitrate(int bitrate_bps) { On 2016/09/02 13:10:22, stefan-webrtc (holmer) ...
4 years, 3 months ago (2016-09-02 13:32:50 UTC) #17
Irfan
PTAL. A couple of follow up fixes needed to make the capacity ramp up: 1. ...
4 years, 3 months ago (2016-09-08 08:47:55 UTC) #18
philipel
lg, just a few comments. https://codereview.webrtc.org/2235373004/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.webrtc.org/2235373004/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc#newcode318 webrtc/modules/congestion_controller/congestion_controller.cc:318: void CongestionController::OnDelayBasedBweChanged(int bitrate_bps) { ...
4 years, 3 months ago (2016-09-08 12:52:47 UTC) #19
Irfan
Added a few unit tests and reverted using observer on delay_based_bwe to allow tests to ...
4 years, 3 months ago (2016-09-09 08:12:53 UTC) #20
philipel
lgtm with the thread annotation fix. https://codereview.chromium.org/2235373004/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.chromium.org/2235373004/diff/80001/webrtc/modules/congestion_controller/congestion_controller.cc#newcode318 webrtc/modules/congestion_controller/congestion_controller.cc:318: void CongestionController::OnDelayBasedBweChanged(int bitrate_bps) ...
4 years, 3 months ago (2016-09-09 08:59:09 UTC) #21
philipel
One more thing. Irfan, can you create a bug so we can track all CLs ...
4 years, 3 months ago (2016-09-09 09:05:18 UTC) #22
stefan-webrtc
On 2016/09/09 09:05:18, philipel wrote: > One more thing. Irfan, can you create a bug ...
4 years, 3 months ago (2016-09-09 11:55:36 UTC) #24
stefan-webrtc
https://codereview.chromium.org/2235373004/diff/100001/webrtc/modules/congestion_controller/congestion_controller.cc File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.chromium.org/2235373004/diff/100001/webrtc/modules/congestion_controller/congestion_controller.cc#newcode259 webrtc/modules/congestion_controller/congestion_controller.cc:259: RemoteBitrateEstimator* rbe = new DelayBasedBwe(this, clock_); It's not clear ...
4 years, 3 months ago (2016-09-09 12:03:52 UTC) #25
Irfan
https://codereview.chromium.org/2235373004/diff/100001/webrtc/modules/congestion_controller/congestion_controller.cc File webrtc/modules/congestion_controller/congestion_controller.cc (right): https://codereview.chromium.org/2235373004/diff/100001/webrtc/modules/congestion_controller/congestion_controller.cc#newcode259 webrtc/modules/congestion_controller/congestion_controller.cc:259: RemoteBitrateEstimator* rbe = new DelayBasedBwe(this, clock_); On 2016/09/09 12:03:52, ...
4 years, 3 months ago (2016-09-12 06:40:40 UTC) #26
stefan-webrtc
lgtm % nit https://codereview.chromium.org/2235373004/diff/120001/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc File webrtc/modules/bitrate_controller/bitrate_controller_impl.cc (right): https://codereview.chromium.org/2235373004/diff/120001/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc#newcode194 webrtc/modules/bitrate_controller/bitrate_controller_impl.cc:194: // This is called for BW ...
4 years, 3 months ago (2016-09-12 13:58:29 UTC) #27
stefan-webrtc
https://codereview.chromium.org/2235373004/diff/120001/webrtc/modules/bitrate_controller/include/bitrate_controller.h File webrtc/modules/bitrate_controller/include/bitrate_controller.h (right): https://codereview.chromium.org/2235373004/diff/120001/webrtc/modules/bitrate_controller/include/bitrate_controller.h#newcode23 webrtc/modules/bitrate_controller/include/bitrate_controller.h:23: #include "webrtc/modules/remote_bitrate_estimator/include/remote_bitrate_estimator.h" Include order.
4 years, 3 months ago (2016-09-12 13:59:28 UTC) #28
Irfan
https://codereview.chromium.org/2235373004/diff/120001/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc File webrtc/modules/bitrate_controller/bitrate_controller_impl.cc (right): https://codereview.chromium.org/2235373004/diff/120001/webrtc/modules/bitrate_controller/bitrate_controller_impl.cc#newcode194 webrtc/modules/bitrate_controller/bitrate_controller_impl.cc:194: // This is called for BW estimate from a ...
4 years, 3 months ago (2016-09-12 14:22:19 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2235373004/140001
4 years, 3 months ago (2016-09-12 14:22:39 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/8284)
4 years, 3 months ago (2016-09-12 14:49:55 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2235373004/160001
4 years, 3 months ago (2016-09-12 15:02:14 UTC) #37
commit-bot: I haz the power
Try jobs failed on following builders: android_dbg on master.tryserver.webrtc (JOB_TIMED_OUT, no build URL)
4 years, 3 months ago (2016-09-12 17:03:06 UTC) #39
commit-bot: I haz the power
Patchset 9 (id:??) landed as https://crrev.com/b2540bb99fa974bc8cb66eeff9c6b6d7fd0c36eb Cr-Commit-Position: refs/heads/master@{#14189}
4 years, 3 months ago (2016-09-12 19:29:09 UTC) #42
Irfan
4 years, 3 months ago (2016-09-12 19:29:10 UTC) #43
Message was sent while issue was closed.
Committed patchset #9 (id:160001) manually as
b2540bb99fa974bc8cb66eeff9c6b6d7fd0c36eb (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698