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

Issue 2866943002: Give performance_browser_tests lots of love and attention. (Closed)

Created:
3 years, 7 months ago by miu
Modified:
3 years, 7 months ago
Reviewers:
xjz, hubbe
CC:
chromium-reviews, extensions-reviews_chromium.org, jam, imcheng+watch_chromium.org, posciak+watch_chromium.org, jasonroberts+watch_google.com, avayvod+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, chfremer+watch_chromium.org, chromium-apps-reviews_chromium.org, xjz+watch_chromium.org, isheriff+watch_chromium.org, miu+watch_chromium.org, hubbe
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Give performance_browser_tests lots of love and attention. This change started by fixing a bug where a trace event was missing, causing failures on the Win7 bots. It quickly evolved into a number of improvements, focusing on measurement stability, and adding a few additional useful analyses. More-specifically: 1. The logic that tracks a frame in the CastV2PerformanceTest was simplified since exact timestamps are now available in the tracing data (i.e., no need for fabs(TS_a - TS_b) < 1 millisecond" searches for prior events). 2. Trimmed events at both the start and end of the tests, and updated the number of trimmed events, to promote more stable measurements in the perf waterfall. Both CastV2PerformanceTests and TabCapturePerformanceTests now run for 15 seconds (before, this was 20 and 10, respectively). 3. Added new "frame_drop_rate" measurement to CastV2PerformanceTest. Similarly, added a CaptureFailRate measurement to TabCapturePerformanceTest. 4. Added performance testing with auto throttling (aka "zero config") enabled to CastV2PerformanceTest, through simulated "slow, but reliable Wifi." If measurements are stable, we can add monitoring for the average capture resolution (larger is better) and number of resolution changes (lower is better) as way to detect perf regressions that will have a direct impact on the user experience. 5. Enabled encryption on the Cast Streaming transport, to ensure crypto is also being considered when measuring performance and alerting on regressions. 6. Minor code clean-up: style stuff, de-duping utility functions, fixing use of the deprecated MediaStream.stop() call, adding/clarifying comments to account for changes over the past couple of years. Added results: CastV2Performance*: playout_resolution CastV2Performance*: resolution_changes CastV2Performance*: frame_drop_rate TabCapturePerformance*: CaptureLatency TabCapturePerformance*: CaptureFailRate Removed results: TabCapturePerformance*: CaptureSucceeded BUG=567848, 709247 Review-Url: https://codereview.chromium.org/2866943002 Cr-Commit-Position: refs/heads/master@{#474189} Committed: https://chromium.googlesource.com/chromium/src/+/50ca2ed80efff90dcc3192c1e3e1c2d782d14a91

Patch Set 1 #

Patch Set 2 : rebase #

Total comments: 12

Patch Set 3 : rebase #

Patch Set 4 : Fixed things xjz@ mentioned. #

Patch Set 5 : fix compile error #

Unified diffs Side-by-side diffs Delta from patch set Stats (+540 lines, -307 lines) Patch
M chrome/browser/extensions/api/cast_streaming/performance_test.cc View 1 2 3 20 chunks +249 lines, -193 lines 0 comments Download
M chrome/browser/extensions/api/tab_capture/tab_capture_performancetest.cc View 1 2 3 4 7 chunks +153 lines, -47 lines 0 comments Download
M chrome/renderer/media/cast_rtp_stream.cc View 1 2 1 chunk +4 lines, -5 lines 0 comments Download
M chrome/test/data/extensions/api_test/cast_streaming/performance.js View 1 chunk +56 lines, -24 lines 0 comments Download
M chrome/test/data/extensions/api_test/tab_capture/performance.js View 5 chunks +30 lines, -13 lines 0 comments Download
M media/capture/content/thread_safe_capture_oracle.cc View 1 1 chunk +10 lines, -10 lines 0 comments Download
M media/cast/receiver/cast_receiver_impl.cc View 2 chunks +7 lines, -9 lines 0 comments Download
M media/cast/sender/video_sender.cc View 1 2 1 chunk +4 lines, -5 lines 0 comments Download
M media/cast/test/utility/udp_proxy.h View 1 chunk +5 lines, -0 lines 0 comments Download
M media/cast/test/utility/udp_proxy.cc View 1 2 1 chunk +17 lines, -0 lines 0 comments Download
M media/cast/test/utility/udp_proxy_main.cc View 2 chunks +5 lines, -1 line 0 comments Download

Messages

Total messages: 35 (22 generated)
miu
hubbe: Mind taking a look, given you're most-familiar with all the code I'm changing?
3 years, 7 months ago (2017-05-06 22:36:07 UTC) #5
hubbe
On 2017/05/06 22:36:07, miu wrote: > hubbe: Mind taking a look, given you're most-familiar with ...
3 years, 7 months ago (2017-05-07 07:24:52 UTC) #12
miu
xjz: PTAL. Seems hubbe@'s got too much on his plate right now.
3 years, 7 months ago (2017-05-23 07:38:45 UTC) #14
xjz
lgtm https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc File chrome/browser/extensions/api/cast_streaming/performance_test.cc (right): https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc#newcode232 chrome/browser/extensions/api/cast_streaming/performance_test.cc:232: for (size_t i = kTrimEvents; i < events.size(); ...
3 years, 7 months ago (2017-05-23 20:51:01 UTC) #15
hubbe
https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc File chrome/browser/extensions/api/cast_streaming/performance_test.cc (right): https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc#newcode110 chrome/browser/extensions/api/cast_streaming/performance_test.cc:110: // If testing with a receiver clock that is ...
3 years, 7 months ago (2017-05-23 21:26:28 UTC) #17
miu
https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc File chrome/browser/extensions/api/cast_streaming/performance_test.cc (right): https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc#newcode232 chrome/browser/extensions/api/cast_streaming/performance_test.cc:232: for (size_t i = kTrimEvents; i < events.size(); i++) ...
3 years, 7 months ago (2017-05-23 21:51:05 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2866943002/80001
3 years, 7 months ago (2017-05-23 21:52:04 UTC) #21
miu
Thanks, hubbe. I just noticed your comments right after I started the commit. I've considered ...
3 years, 7 months ago (2017-05-23 22:09:22 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: linux_chromium_compile_dbg_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_ng/builds/303138)
3 years, 7 months ago (2017-05-23 22:36:04 UTC) #24
hubbe
https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc File chrome/browser/extensions/api/cast_streaming/performance_test.cc (right): https://codereview.chromium.org/2866943002/diff/40001/chrome/browser/extensions/api/cast_streaming/performance_test.cc#newcode112 chrome/browser/extensions/api/cast_streaming/performance_test.cc:112: // per million faster or slower than the local ...
3 years, 7 months ago (2017-05-23 22:47:08 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2866943002/100001
3 years, 7 months ago (2017-05-24 00:01:27 UTC) #28
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2866943002/100001
3 years, 7 months ago (2017-05-24 02:31:19 UTC) #32
commit-bot: I haz the power
3 years, 7 months ago (2017-05-24 06:56:11 UTC) #35
Message was sent while issue was closed.
Committed patchset #5 (id:100001) as
https://chromium.googlesource.com/chromium/src/+/50ca2ed80efff90dcc3192c1e3e1...

Powered by Google App Engine
This is Rietveld 408576698