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

Issue 2965773002: Cancel coming updates when certain JumpList APIs time out to fail (Closed)

Created:
3 years, 5 months ago by chengx
Modified:
3 years, 5 months ago
Reviewers:
grt (UTC plus 2)
CC:
chromium-reviews
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Cancel coming updates when certain JumpList APIs time out to fail This CL records the timeout info when JumpListUpdater:: BeginUpdate or JumpListUpdater::AddCustomCategory fails. This information is used to decide if the next few updates are skipped. Previously, the jumplist update run is aborted right away when any of the two steps above fails without any runtime checked. It is possible that upon the failure, those steps have already been running for quite a long time, making them qualified to be considered as "timeout". In this case, we should reduce the update frequency via skipping the next few updates so that the slow machines have less burden. [Determine the new threshold] We drop the timeout threshold for JumpListUpdater::AddCustomCategory to 320 ms from 500 ms. This is because before this change we monitor the total execution time of AddCustomCategory for both most-visited and recently-closed categories, while now we only monitor it for the most-visited category. For most of the time, most-visited category has 5 items and recently-closed category has 3 items to process. In this case, we have logged the ratio of the duration spent adding the two categories using WinJumplist.RatioAddCategoryTime. It has a Gaussian distribution with a peak value of 1.7 and a little more samples on the right side of peak value. To make the new threshold not affect the total number of timeout updates when 500 ms was used as the threshold, the new threshold needs to separate the samples into 2 groups of a same size. From the histogram, we can see that the ratio of 1.8 does this job. Therefore, the new threshold for adding the most-visited category alone should be around 500/2.8*1.8 = 320 ms. BUG=40407, 736530 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng Review-Url: https://codereview.chromium.org/2965773002 Cr-Commit-Position: refs/heads/master@{#488899} Committed: https://chromium.googlesource.com/chromium/src/+/a43fcb472fc064f1870d33daa8c8defe905b33d0

Patch Set 1 #

Total comments: 2

Patch Set 2 : Explain why we only time the most visited category. #

Total comments: 4

Patch Set 3 : Update comments #

Patch Set 4 : Adjust the threshold to 320 ms, explained in CL description #

Patch Set 5 : Merge branch 'master' of https://chromium.googlesource.com/chromium/src into recordtimeoutinfoforfa… #

Patch Set 6 : Fix build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+35 lines, -12 lines) Patch
M chrome/browser/win/jumplist.cc View 1 2 3 4 5 4 chunks +35 lines, -12 lines 0 comments Download

Messages

Total messages: 52 (42 generated)
chengx
PTAL, thanks!
3 years, 5 months ago (2017-06-30 20:53:29 UTC) #11
grt (UTC plus 2)
https://codereview.chromium.org/2965773002/diff/40001/chrome/browser/win/jumplist.cc File chrome/browser/win/jumplist.cc (right): https://codereview.chromium.org/2965773002/diff/40001/chrome/browser/win/jumplist.cc#newcode81 chrome/browser/win/jumplist.cc:81: constexpr base::TimeDelta kTimeOutForAddCustomCategory = this is now specifically "timeout ...
3 years, 5 months ago (2017-06-30 21:34:12 UTC) #14
chengx
Please see my explanation below. Thanks! https://codereview.chromium.org/2965773002/diff/40001/chrome/browser/win/jumplist.cc File chrome/browser/win/jumplist.cc (right): https://codereview.chromium.org/2965773002/diff/40001/chrome/browser/win/jumplist.cc#newcode81 chrome/browser/win/jumplist.cc:81: constexpr base::TimeDelta kTimeOutForAddCustomCategory ...
3 years, 5 months ago (2017-06-30 23:18:06 UTC) #19
grt (UTC plus 2)
https://codereview.chromium.org/2965773002/diff/100001/chrome/browser/win/jumplist.cc File chrome/browser/win/jumplist.cc (right): https://codereview.chromium.org/2965773002/diff/100001/chrome/browser/win/jumplist.cc#newcode761 chrome/browser/win/jumplist.cc:761: // 1. If processing the first category times out ...
3 years, 5 months ago (2017-07-03 06:24:15 UTC) #20
chengx
PTAL, thanks! https://codereview.chromium.org/2965773002/diff/100001/chrome/browser/win/jumplist.cc File chrome/browser/win/jumplist.cc (right): https://codereview.chromium.org/2965773002/diff/100001/chrome/browser/win/jumplist.cc#newcode761 chrome/browser/win/jumplist.cc:761: // 1. If processing the first category ...
3 years, 5 months ago (2017-07-09 23:08:49 UTC) #24
grt (UTC plus 2)
lgtm
3 years, 5 months ago (2017-07-20 04:56:30 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.chromium.org/2965773002/160001
3 years, 5 months ago (2017-07-20 18:25:24 UTC) #36
commit-bot: I haz the power
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/505628)
3 years, 5 months ago (2017-07-20 18:29:26 UTC) #38
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/2965773002/200001
3 years, 5 months ago (2017-07-23 23:26:51 UTC) #49
commit-bot: I haz the power
3 years, 5 months ago (2017-07-23 23:30:44 UTC) #52
Message was sent while issue was closed.
Committed patchset #6 (id:200001) as
https://chromium.googlesource.com/chromium/src/+/a43fcb472fc064f1870d33daa8c8...

Powered by Google App Engine
This is Rietveld 408576698