|
|
DescriptionMigrate infinite scrolls to system health stories
BUG=724262
Review-Url: https://codereview.chromium.org/2890283002
Cr-Commit-Position: refs/heads/master@{#475937}
Committed: https://chromium.googlesource.com/chromium/src/+/3487cdad7d1ea3c63ad671a8ac0c0d45f1fb4d46
Patch Set 1 #
Total comments: 29
Patch Set 2 : Rename stories #
Total comments: 4
Patch Set 3 : Address review comments #Patch Set 4 : update #Patch Set 5 : Fix naming #
Total comments: 2
Patch Set 6 : Fix scrolling stuck check & disable mobile facebook scroll #Patch Set 7 : Disable browse:social:facebook_infinite_scroll & browse:tech:discourse_infinite_scroll #
Messages
Total messages: 51 (32 generated)
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #1 (id:1) has been deleted
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
nednguyen@google.com changed reviewers: + perezju@chromium.org, ulan@chromium.org
This add 5 new stories for desktop, 5 new stories for mobile, I am not sure whether we should cut some of them. Thoughts?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
My suggestion would be to add just 3 new browse stories (maybe discourse, flickr, and ... pinterest or twitter?), and replace the existing browse:social:facebook with this new version. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:798: def RunPageInteractions(self, action_runner): I don't thing we should override this method. Could we do it by overriding _DidLoadDocument instead, like all other system health stories do? My worry is that this bypasses the system health mechanism for taking measurements (e.g. cache flushes, measure memory but only in the corresponding benchmark, etc.) https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:799: with action_runner.CreateInteraction('Load'): Do we still want to create all of these interaction records? https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:815: def _Scroll(self, action_runner, distance, step_size): Could we use some of the Scroll methods in action_runner? hjd@ spent a great deal of effort making sure those worked properly. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = 'browse_infinite_scroll:forum:discourse' I would call this: browse:social:discourse And add some 'infinite_scroll' tag instead. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:849: NAME = 'browse_infinite_scroll:forum:discourse' ditto https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = 'browse_infinite_scroll:social:facebook' Could this replace our existing browse:social:facebook? https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:867: def RunNavigateSteps(self, action_runner): We should be overriding _Login instead. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:874: NAME = 'browse_infinite_scroll:media:flickr' Call this just browse:media:flickr https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:887: NAME = 'browse_infinite_scroll:social:pinterest' browse:social:pinterest https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:889: SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY No desktop version? https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:893: NAME = 'browse_infinite_scroll:social:tumblr' browse:social:tumblr
hjd@chromium.org changed reviewers: + hjd@chromium.org
https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:815: def _Scroll(self, action_runner, distance, step_size): On 2017/05/19 09:40:35, perezju wrote: > Could we use some of the Scroll methods in action_runner? hjd@ spent a great > deal of effort making sure those worked properly. This does use action_runner.ScrollPage underneath which is good, I think none of the more involved scroll methods (ScrollPageToElement etc) quite match the logic here sadly. However maybe we could improve/add to to the methods in action_runner? Infinite scroll seems like a useful primitive and it's nice to have all the scroll bugs concentrated in one place. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:822: remaining = distance - action_runner.EvaluateJavaScript('window.scrollY') I think scrollY can be overwritten in JavaScript to be (for example) a string although this should be rare in practice. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:829: if remaining == new_remaining: This could be remaining >= new_remaining to guarantee we're making forward progress. Otherwise if the page js is trying to scroll us up at the same time we're scrolling down we could end up stuck in a loop. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:894: URL = 'http://techcrunch.tumblr.com/' nit: maybe a comment that techcrunch.tumblr.com doesn't have https right now, so later we don't think it was because of a wpr bug or something.
ulan@chromium.org changed reviewers: + hpayer@chromium.org, mlippautz@chromium.org
+GC to reviewers. Hannes, Michael, wdyt about replacing some infinite scroll stories with browsing stories?
Talked with GC team offline. It would be great to keep all the stories. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = 'browse_infinite_scroll:forum:discourse' On 2017/05/19 09:40:35, perezju wrote: > I would call this: browse:social:discourse > And add some 'infinite_scroll' tag instead. How about browse:infinite_scroll:discourse? I would like to keep all these stories in the same group and avoid confusion with other browse stories. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = 'browse_infinite_scroll:social:facebook' On 2017/05/19 09:40:35, perezju wrote: > Could this replace our existing browse:social:facebook? They execute different work loads and should be considered as different stories. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:874: NAME = 'browse_infinite_scroll:media:flickr' On 2017/05/19 09:40:35, perezju wrote: > Call this just browse:media:flickr How about browse:infinite_scroll:flickr? https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:887: NAME = 'browse_infinite_scroll:social:pinterest' On 2017/05/19 09:40:36, perezju wrote: > browse:social:pinterest How about browse:infinite_scroll:pinterest? https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:893: NAME = 'browse_infinite_scroll:social:tumblr' On 2017/05/19 09:40:36, perezju wrote: > browse:social:tumblr How about browse:infinite_scroll:pinterest?
https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = 'browse_infinite_scroll:forum:discourse' On 2017/05/19 12:59:00, ulan wrote: > On 2017/05/19 09:40:35, perezju wrote: > > I would call this: browse:social:discourse > > And add some 'infinite_scroll' tag instead. > > How about browse:infinite_scroll:discourse? I would like to keep all these > stories in the same group and avoid confusion with other browse stories. I think "tags" should be the correct way to group together stories in system health. (also see my other reply below.) https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = 'browse_infinite_scroll:social:facebook' On 2017/05/19 12:59:00, ulan wrote: > On 2017/05/19 09:40:35, perezju wrote: > > Could this replace our existing browse:social:facebook? > > They execute different work loads and should be considered as different stories. For system health, IMO, we should pick representative websites, and then pick a representative workflow on that website. There might be cases where we want to provide coverage for several workflows on the same property, but that should be rare. The driving principle should be to test a diverse set of representative websites on representative workflows; but without doing the full Cartesian product of both. In my ideal world all stories should be "browse", and the rest of the name should be "site_category:site_name". Tags are then used to group stories by e.g. workflow or feature; providing a convenient way for developers e.g. to run only a set of stories; or filter-by when looking at dashboards. Ned, what are your thoughts here?
On 2017/05/19 14:34:41, perezju wrote: > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = > 'browse_infinite_scroll:forum:discourse' > On 2017/05/19 12:59:00, ulan wrote: > > On 2017/05/19 09:40:35, perezju wrote: > > > I would call this: browse:social:discourse > > > And add some 'infinite_scroll' tag instead. > > > > How about browse:infinite_scroll:discourse? I would like to keep all these > > stories in the same group and avoid confusion with other browse stories. > > I think "tags" should be the correct way to group together stories in system > health. (also see my other reply below.) > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = > 'browse_infinite_scroll:social:facebook' > On 2017/05/19 12:59:00, ulan wrote: > > On 2017/05/19 09:40:35, perezju wrote: > > > Could this replace our existing browse:social:facebook? > > > > They execute different work loads and should be considered as different > stories. > > For system health, IMO, we should pick representative websites, and then pick a > representative workflow on that website. > > There might be cases where we want to provide coverage for several workflows on > the same property, but that should be rare. > > The driving principle should be to test a diverse set of representative websites > on representative workflows; but without doing the full Cartesian product of > both. > > In my ideal world all stories should be "browse", and the rest of the name > should be "site_category:site_name". > > Tags are then used to group stories by e.g. workflow or feature; providing a > convenient way for developers e.g. to run only a set of stories; or filter-by > when looking at dashboards. > > Ned, what are your thoughts here? The selection of system health and browsing stories was the same, i.e. we picked popular websites that triggered interesting performance patterns. We should keep them in one category infinite_scroll because this action is particularly interesting for animation. Moreover, we should keep all the stories because they are all still useful.
On 2017/05/19 14:42:27, Hannes Payer wrote: > On 2017/05/19 14:34:41, perezju wrote: > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = > > 'browse_infinite_scroll:forum:discourse' > > On 2017/05/19 12:59:00, ulan wrote: > > > On 2017/05/19 09:40:35, perezju wrote: > > > > I would call this: browse:social:discourse > > > > And add some 'infinite_scroll' tag instead. > > > > > > How about browse:infinite_scroll:discourse? I would like to keep all these > > > stories in the same group and avoid confusion with other browse stories. > > > > I think "tags" should be the correct way to group together stories in system > > health. (also see my other reply below.) > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = > > 'browse_infinite_scroll:social:facebook' > > On 2017/05/19 12:59:00, ulan wrote: > > > On 2017/05/19 09:40:35, perezju wrote: > > > > Could this replace our existing browse:social:facebook? > > > > > > They execute different work loads and should be considered as different > > stories. > > > > For system health, IMO, we should pick representative websites, and then pick > a > > representative workflow on that website. > > > > There might be cases where we want to provide coverage for several workflows > on > > the same property, but that should be rare. > > > > The driving principle should be to test a diverse set of representative > websites > > on representative workflows; but without doing the full Cartesian product of > > both. > > > > In my ideal world all stories should be "browse", and the rest of the name > > should be "site_category:site_name". > > > > Tags are then used to group stories by e.g. workflow or feature; providing a > > convenient way for developers e.g. to run only a set of stories; or filter-by > > when looking at dashboards. > > > > Ned, what are your thoughts here? > > The selection of system health and browsing stories was the same, i.e. we picked > popular websites that triggered interesting performance patterns. We should keep > them in one category infinite_scroll because this action is particularly > interesting > for animation. Moreover, we should keep all the stories because they are all > still > useful. Hanne & Ulan: the existing naming convention in browsing_stories.py is "<user action type>:<web category>:<domain name>". It's worth noting that the dasbhoard team is working on surfacing the story's tags as a UI feature on the dashboard, so assuming we add "infinite_scroll" as tags to these stories, we should be able to select the group of all browsing stories that match such tag on the dashboard & results.html (tracking bug: https://github.com/catapult-project/catapult/issues/3554)
On 2017/05/19 14:54:25, nednguyen wrote: > On 2017/05/19 14:42:27, Hannes Payer wrote: > > On 2017/05/19 14:34:41, perezju wrote: > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = > > > 'browse_infinite_scroll:forum:discourse' > > > On 2017/05/19 12:59:00, ulan wrote: > > > > On 2017/05/19 09:40:35, perezju wrote: > > > > > I would call this: browse:social:discourse > > > > > And add some 'infinite_scroll' tag instead. > > > > > > > > How about browse:infinite_scroll:discourse? I would like to keep all these > > > > stories in the same group and avoid confusion with other browse stories. > > > > > > I think "tags" should be the correct way to group together stories in system > > > health. (also see my other reply below.) > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = > > > 'browse_infinite_scroll:social:facebook' > > > On 2017/05/19 12:59:00, ulan wrote: > > > > On 2017/05/19 09:40:35, perezju wrote: > > > > > Could this replace our existing browse:social:facebook? > > > > > > > > They execute different work loads and should be considered as different > > > stories. > > > > > > For system health, IMO, we should pick representative websites, and then > pick > > a > > > representative workflow on that website. > > > > > > There might be cases where we want to provide coverage for several workflows > > on > > > the same property, but that should be rare. > > > > > > The driving principle should be to test a diverse set of representative > > websites > > > on representative workflows; but without doing the full Cartesian product of > > > both. > > > > > > In my ideal world all stories should be "browse", and the rest of the name > > > should be "site_category:site_name". > > > > > > Tags are then used to group stories by e.g. workflow or feature; providing a > > > convenient way for developers e.g. to run only a set of stories; or > filter-by > > > when looking at dashboards. > > > > > > Ned, what are your thoughts here? > > > > The selection of system health and browsing stories was the same, i.e. we > picked > > popular websites that triggered interesting performance patterns. We should > keep > > them in one category infinite_scroll because this action is particularly > > interesting > > for animation. Moreover, we should keep all the stories because they are all > > still > > useful. > > Hanne & Ulan: the existing naming convention in browsing_stories.py is "<user > action type>:<web category>:<domain name>". It's worth noting that the dasbhoard > team is working on surfacing the story's tags as a UI feature on the dashboard, > so assuming we add "infinite_scroll" as tags to these stories, we should be able > to select the group of all browsing stories that match such tag on the dashboard > & results.html (tracking bug: > https://github.com/catapult-project/catapult/issues/3554) On the topic of adding too many user stories, I am thinking that we can remove some of the old loading stories in system_health & add these new infinite scroll stories so that we don't increase too much of bot cycle times & number of stories overall. I will write a doc so folks can easily chime in.
On 2017/05/19 14:56:11, nednguyen wrote: > On 2017/05/19 14:54:25, nednguyen wrote: > > On 2017/05/19 14:42:27, Hannes Payer wrote: > > > On 2017/05/19 14:34:41, perezju wrote: > > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > > > > > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > > tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = > > > > 'browse_infinite_scroll:forum:discourse' > > > > On 2017/05/19 12:59:00, ulan wrote: > > > > > On 2017/05/19 09:40:35, perezju wrote: > > > > > > I would call this: browse:social:discourse > > > > > > And add some 'infinite_scroll' tag instead. > > > > > > > > > > How about browse:infinite_scroll:discourse? I would like to keep all > these > > > > > stories in the same group and avoid confusion with other browse stories. > > > > > > > > I think "tags" should be the correct way to group together stories in > system > > > > health. (also see my other reply below.) > > > > > > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > > tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = > > > > 'browse_infinite_scroll:social:facebook' > > > > On 2017/05/19 12:59:00, ulan wrote: > > > > > On 2017/05/19 09:40:35, perezju wrote: > > > > > > Could this replace our existing browse:social:facebook? > > > > > > > > > > They execute different work loads and should be considered as different > > > > stories. > > > > > > > > For system health, IMO, we should pick representative websites, and then > > pick > > > a > > > > representative workflow on that website. > > > > > > > > There might be cases where we want to provide coverage for several > workflows > > > on > > > > the same property, but that should be rare. > > > > > > > > The driving principle should be to test a diverse set of representative > > > websites > > > > on representative workflows; but without doing the full Cartesian product > of > > > > both. > > > > > > > > In my ideal world all stories should be "browse", and the rest of the name > > > > should be "site_category:site_name". > > > > > > > > Tags are then used to group stories by e.g. workflow or feature; providing > a > > > > convenient way for developers e.g. to run only a set of stories; or > > filter-by > > > > when looking at dashboards. > > > > > > > > Ned, what are your thoughts here? > > > > > > The selection of system health and browsing stories was the same, i.e. we > > picked > > > popular websites that triggered interesting performance patterns. We should > > keep > > > them in one category infinite_scroll because this action is particularly > > > interesting > > > for animation. Moreover, we should keep all the stories because they are all > > > still > > > useful. > > > > Hanne & Ulan: the existing naming convention in browsing_stories.py is "<user > > action type>:<web category>:<domain name>". It's worth noting that the > dasbhoard > > team is working on surfacing the story's tags as a UI feature on the > dashboard, > > so assuming we add "infinite_scroll" as tags to these stories, we should be > able > > to select the group of all browsing stories that match such tag on the > dashboard > > & results.html (tracking bug: > > https://github.com/catapult-project/catapult/issues/3554) > > On the topic of adding too many user stories, I am thinking that we can remove > some of the old loading stories in system_health & add these new infinite scroll > stories so that we don't increase too much of bot cycle times & number of > stories overall. I will write a doc so folks can easily chime in. I whip up a doc so it's easier for us to iterate on the discussion in https://docs.google.com/document/d/1m5QbbXfmd2P_yrdEDROCaiEzJymAd3dhHIDoX_Okk... PTAL the doc.
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2017/05/23 15:14:50, nednguyen wrote: > On 2017/05/19 14:56:11, nednguyen wrote: > > On 2017/05/19 14:54:25, nednguyen wrote: > > > On 2017/05/19 14:42:27, Hannes Payer wrote: > > > > On 2017/05/19 14:34:41, perezju wrote: > > > > > > > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > > > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > > > tools/perf/page_sets/system_health/browsing_stories.py:842: NAME = > > > > > 'browse_infinite_scroll:forum:discourse' > > > > > On 2017/05/19 12:59:00, ulan wrote: > > > > > > On 2017/05/19 09:40:35, perezju wrote: > > > > > > > I would call this: browse:social:discourse > > > > > > > And add some 'infinite_scroll' tag instead. > > > > > > > > > > > > How about browse:infinite_scroll:discourse? I would like to keep all > > these > > > > > > stories in the same group and avoid confusion with other browse > stories. > > > > > > > > > > I think "tags" should be the correct way to group together stories in > > system > > > > > health. (also see my other reply below.) > > > > > > > > > > > > > > > > > > > > https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... > > > > > tools/perf/page_sets/system_health/browsing_stories.py:857: NAME = > > > > > 'browse_infinite_scroll:social:facebook' > > > > > On 2017/05/19 12:59:00, ulan wrote: > > > > > > On 2017/05/19 09:40:35, perezju wrote: > > > > > > > Could this replace our existing browse:social:facebook? > > > > > > > > > > > > They execute different work loads and should be considered as > different > > > > > stories. > > > > > > > > > > For system health, IMO, we should pick representative websites, and then > > > pick > > > > a > > > > > representative workflow on that website. > > > > > > > > > > There might be cases where we want to provide coverage for several > > workflows > > > > on > > > > > the same property, but that should be rare. > > > > > > > > > > The driving principle should be to test a diverse set of representative > > > > websites > > > > > on representative workflows; but without doing the full Cartesian > product > > of > > > > > both. > > > > > > > > > > In my ideal world all stories should be "browse", and the rest of the > name > > > > > should be "site_category:site_name". > > > > > > > > > > Tags are then used to group stories by e.g. workflow or feature; > providing > > a > > > > > convenient way for developers e.g. to run only a set of stories; or > > > filter-by > > > > > when looking at dashboards. > > > > > > > > > > Ned, what are your thoughts here? > > > > > > > > The selection of system health and browsing stories was the same, i.e. we > > > picked > > > > popular websites that triggered interesting performance patterns. We > should > > > keep > > > > them in one category infinite_scroll because this action is particularly > > > > interesting > > > > for animation. Moreover, we should keep all the stories because they are > all > > > > still > > > > useful. > > > > > > Hanne & Ulan: the existing naming convention in browsing_stories.py is > "<user > > > action type>:<web category>:<domain name>". It's worth noting that the > > dasbhoard > > > team is working on surfacing the story's tags as a UI feature on the > > dashboard, > > > so assuming we add "infinite_scroll" as tags to these stories, we should be > > able > > > to select the group of all browsing stories that match such tag on the > > dashboard > > > & results.html (tracking bug: > > > https://github.com/catapult-project/catapult/issues/3554) > > > > On the topic of adding too many user stories, I am thinking that we can remove > > some of the old loading stories in system_health & add these new infinite > scroll > > stories so that we don't increase too much of bot cycle times & number of > > stories overall. I will write a doc so folks can easily chime in. > > I whip up a doc so it's easier for us to iterate on the discussion in > https://docs.google.com/document/d/1m5QbbXfmd2P_yrdEDROCaiEzJymAd3dhHIDoX_Okk... > PTAL the doc. CL updated after discussion, PTAL
I had left several comments in patch set #1 (other than story names) that I think haven't been addressed. https://codereview.chromium.org/2890283002/diff/40001/tools/perf/page_sets/sy... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/40001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:860: URL = ('https://meta.discourse.org/t/the-official-discourse-tags-plugin' + nit: for urls it's fine to let them go over 80 chars (so they can be easily clicked or copy-pasted from code search) https://codereview.chromium.org/2890283002/diff/40001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:868: URL = ('https://meta.discourse.org/t/the-official-discourse-tags-plugin' + nit: ditto
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:798: def RunPageInteractions(self, action_runner): On 2017/05/19 09:40:35, perezju wrote: > I don't thing we should override this method. > > Could we do it by overriding _DidLoadDocument instead, like all other system > health stories do? > > My worry is that this bypasses the system health mechanism for taking > measurements (e.g. cache flushes, measure memory but only in the corresponding > benchmark, etc.) Oh, it's just me copy & paste the stories from v8 benchmarks without much thinking. This is why we have code review :-) Done. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:799: with action_runner.CreateInteraction('Load'): On 2017/05/19 09:40:36, perezju wrote: > Do we still want to create all of these interaction records? Nope. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:822: remaining = distance - action_runner.EvaluateJavaScript('window.scrollY') On 2017/05/19 10:42:21, hjd wrote: > I think scrollY can be overwritten in JavaScript to be (for example) a string > although this should be rare in practice. Acknowledged. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:829: if remaining == new_remaining: On 2017/05/19 10:42:21, hjd wrote: > This could be remaining >= new_remaining to guarantee we're making forward > progress. Otherwise if the page js is trying to scroll us up at the same time > we're scrolling down we could end up stuck in a loop. Done. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:867: def RunNavigateSteps(self, action_runner): On 2017/05/19 09:40:36, perezju wrote: > We should be overriding _Login instead. Done. https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:889: SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY On 2017/05/19 09:40:35, perezju wrote: > No desktop version? Nope https://codereview.chromium.org/2890283002/diff/20001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:894: URL = 'http://techcrunch.tumblr.com/' On 2017/05/19 10:42:21, hjd wrote: > nit: maybe a comment that http://techcrunch.tumblr.com doesn't have https right now, so > later we don't think it was because of a wpr bug or something. Done. https://codereview.chromium.org/2890283002/diff/40001/tools/perf/page_sets/sy... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/40001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:860: URL = ('https://meta.discourse.org/t/the-official-discourse-tags-plugin' + On 2017/05/24 15:39:41, perezju wrote: > nit: for urls it's fine to let them go over 80 chars (so they can be easily > clicked or copy-pasted from code search) Done. https://codereview.chromium.org/2890283002/diff/40001/tools/perf/page_sets/sy... tools/perf/page_sets/system_health/browsing_stories.py:868: URL = ('https://meta.discourse.org/t/the-official-discourse-tags-plugin' + On 2017/05/24 15:39:41, perezju wrote: > nit: ditto Done.
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_n5x_swarming_rel on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_n5x_...)
lgtm w/nits https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... File tools/perf/page_sets/system_health/browsing_stories.py (right): https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... tools/perf/page_sets/system_health/browsing_stories.py:852: URL = ('https://meta.discourse.org/t/the-official-discourse-tags-plugin-discourse-tagging/26482') nit: no need for parenthesis anymore :) https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... tools/perf/page_sets/system_health/browsing_stories.py:875: SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY missing TAGS, probably by mistake
On 2017/05/25 08:27:43, perezju wrote: > lgtm w/nits > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > tools/perf/page_sets/system_health/browsing_stories.py:852: URL = > ('https://meta.discourse.org/t/the-official-discourse-tags-plugin-discourse-tagging/26482') > nit: no need for parenthesis anymore :) > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > tools/perf/page_sets/system_health/browsing_stories.py:875: SUPPORTED_PLATFORMS > = platforms.MOBILE_ONLY > missing TAGS, probably by mistake I was trying to keep the stories code mostly unchanged when doing the migration, but I probably need to rerecord stories that are failing now. ulan@: are you ok with refreshing the recording?
On 2017/05/25 10:11:31, nednguyen wrote: > On 2017/05/25 08:27:43, perezju wrote: > > lgtm w/nits > > > > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > > > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > > tools/perf/page_sets/system_health/browsing_stories.py:852: URL = > > > ('https://meta.discourse.org/t/the-official-discourse-tags-plugin-discourse-tagging/26482') > > nit: no need for parenthesis anymore :) > > > > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > > tools/perf/page_sets/system_health/browsing_stories.py:875: > SUPPORTED_PLATFORMS > > = platforms.MOBILE_ONLY > > missing TAGS, probably by mistake > > I was trying to keep the stories code mostly unchanged when doing the migration, > but I probably need to rerecord stories that are failing now. ulan@: are you ok > with refreshing the recording? Yes, re-recording will be OK. You might need to remove "window.performance = undefined;" if recording fails (I remember one of the recording scripts needed window.performance and I had to work around it last time). The change lgtm.
The CQ bit was checked by nednguyen@google.com to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_x64_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_x64_...)
On 2017/05/29 06:39:17, ulan wrote: > On 2017/05/25 10:11:31, nednguyen wrote: > > On 2017/05/25 08:27:43, perezju wrote: > > > lgtm w/nits > > > > > > > > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > > > File tools/perf/page_sets/system_health/browsing_stories.py (right): > > > > > > > > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > > > tools/perf/page_sets/system_health/browsing_stories.py:852: URL = > > > > > > ('https://meta.discourse.org/t/the-official-discourse-tags-plugin-discourse-tagging/26482') > > > nit: no need for parenthesis anymore :) > > > > > > > > > https://codereview.chromium.org/2890283002/diff/100001/tools/perf/page_sets/s... > > > tools/perf/page_sets/system_health/browsing_stories.py:875: > > SUPPORTED_PLATFORMS > > > = platforms.MOBILE_ONLY > > > missing TAGS, probably by mistake > > > > I was trying to keep the stories code mostly unchanged when doing the > migration, > > but I probably need to rerecord stories that are failing now. ulan@: are you > ok > > with refreshing the recording? > Yes, re-recording will be OK. You might need to remove "window.performance = > undefined;" if recording fails (I remember one of the recording scripts needed > window.performance and I had to work around it last time). > > The change lgtm. browse:social:facebook_infinite_scroll & browse:tech:discourse_infinite_scroll is failing on windows, so I am disabling them for now to land this CL.
The CQ bit was checked by nednguyen@google.com
The patchset sent to the CQ was uploaded after l-g-t-m from perezju@chromium.org, ulan@chromium.org Link to the patchset: https://codereview.chromium.org/2890283002/#ps140001 (title: "Disable browse:social:facebook_infinite_scroll & browse:tech:discourse_infinite_scroll")
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 140001, "attempt_start_ts": 1496241740012550, "parent_rev": "4deb94b53a551930b3db578c4c339ec0ef95bc6b", "commit_rev": "3487cdad7d1ea3c63ad671a8ac0c0d45f1fb4d46"}
Message was sent while issue was closed.
Description was changed from ========== Migrate infinite scrolls to system health stories BUG=724262 ========== to ========== Migrate infinite scrolls to system health stories BUG=724262 Review-Url: https://codereview.chromium.org/2890283002 Cr-Commit-Position: refs/heads/master@{#475937} Committed: https://chromium.googlesource.com/chromium/src/+/3487cdad7d1ea3c63ad671a8ac0c... ==========
Message was sent while issue was closed.
Committed patchset #7 (id:140001) as https://chromium.googlesource.com/chromium/src/+/3487cdad7d1ea3c63ad671a8ac0c... |