Commit 6719d0c9 authored by Juan Antonio Navarro Perez's avatar Juan Antonio Navarro Perez Committed by Commit Bot

[tools/perf] Add `health_check` story tag

Tag a selection of system health stories chosen to have a wide coverage
for catching regressions, but run in a limited amount of time.

The stories chosen caught more than 80% of system health memory mobile
regressions in Q2 2018, and a single repeat of the entire set runs in
under 20 minutes.

Bug: 865959
Change-Id: I397cda35bb71dadf94bb2343c389d00cb8e80ec3
Reviewed-on: https://chromium-review.googlesource.com/1177396Reviewed-by: default avatarTimothy Dresser <tdresser@chromium.org>
Reviewed-by: default avatarAnnie Sullivan <sullivan@chromium.org>
Reviewed-by: default avatarNed Nguyen <nednguyen@google.com>
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583651}
parent b1aaab64
......@@ -30,6 +30,7 @@ class _BackgroundStory(system_health_story.SystemHealthStory):
class BackgroundGoogleStory(_BackgroundStory):
NAME = 'background:search:google'
URL = 'https://www.google.co.uk/#q=tom+cruise+movies'
TAGS = [story_tags.HEALTH_CHECK]
def _DidLoadDocument(self, action_runner):
# Activte the immersive movie browsing experience
......@@ -79,11 +80,13 @@ class BackgroundImgurMobileStory(_BackgroundStory):
NAME = 'background:media:imgur'
URL = 'http://imgur.com/gallery/hUita'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
class BackgroundGmailMobileStory(LoadGmailMobileStory):
NAME = 'background:tools:gmail'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
def _Measure(self, action_runner):
action_runner.tab.browser.Background()
......
......@@ -111,7 +111,7 @@ class CnnStory(_ArticleBrowsingStory):
URL = 'http://edition.cnn.com/'
ITEM_SELECTOR = '.cd__content > h3 > a'
ITEMS_TO_VISIT = 2
TAGS = [story_tags.JAVASCRIPT_HEAVY]
TAGS = [story_tags.JAVASCRIPT_HEAVY, story_tags.HEALTH_CHECK]
class FacebookMobileStory(_ArticleBrowsingStory):
......@@ -182,7 +182,7 @@ class QqMobileStory(_ArticleBrowsingStory):
URL = 'http://news.qq.com'
ITEM_SELECTOR = '.list .full a'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.INTERNATIONAL]
TAGS = [story_tags.INTERNATIONAL, story_tags.HEALTH_CHECK]
class RedditDesktopStory(_ArticleBrowsingStory):
......@@ -403,8 +403,8 @@ class YouTubeMobileStory(_MediaBrowsingStory):
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
IS_SINGLE_PAGE_APP = True
ITEM_SELECTOR_INDEX = 3
TAGS = [story_tags.JAVASCRIPT_HEAVY]
TAGS = [story_tags.EMERGING_MARKET]
TAGS = [story_tags.JAVASCRIPT_HEAVY, story_tags.EMERGING_MARKET,
story_tags.HEALTH_CHECK]
class YouTubeDesktopStory(_MediaBrowsingStory):
......@@ -552,7 +552,7 @@ class BrowseAvitoMobileStory(_ArticleBrowsingStory):
NAME = 'browse:shopping:avito'
URL = 'https://www.avito.ru/rossiya'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.EMERGING_MARKET]
TAGS = [story_tags.EMERGING_MARKET, story_tags.HEALTH_CHECK]
ITEM_SELECTOR = '.item-link'
ITEMS_TO_VISIT = 4
......
......@@ -13,6 +13,7 @@ class BlankAboutBlankStory(system_health_story.SystemHealthStory):
"""Story that loads the about:blank page."""
NAME = 'load:chrome:blank'
URL = 'about:blank'
TAGS = [story_tags.HEALTH_CHECK]
def _DidLoadDocument(self, action_runner):
# Request a RAF and wait for it to be processed to ensure that the metric
......
......@@ -33,7 +33,7 @@ class LoadGoogleStory(_LoadingStory):
class LoadBaiduStory(_LoadingStory):
NAME = 'load:search:baidu'
URL = 'https://www.baidu.com/s?word=google'
TAGS = [story_tags.INTERNATIONAL]
TAGS = [story_tags.INTERNATIONAL, story_tags.HEALTH_CHECK]
class LoadYahooStory(_LoadingStory):
......@@ -59,7 +59,7 @@ class LoadTaobaoMobileStory(_LoadingStory):
# "ali_trackid" in the URL suppresses "Download app" interstitial.
URL = 'http://m.intl.taobao.com/?ali_trackid'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.INTERNATIONAL]
TAGS = [story_tags.INTERNATIONAL, story_tags.HEALTH_CHECK]
class LoadYandexStory(_LoadingStory):
......@@ -72,6 +72,7 @@ class LoadEbayStory(_LoadingStory):
NAME = 'load:search:ebay'
# Redirects to the "http://" version.
URL = 'https://www.ebay.com/sch/i.html?_nkw=headphones'
TAGS = [story_tags.HEALTH_CHECK]
################################################################################
......@@ -155,6 +156,7 @@ class LoadNytimesMobileStory(_LoadingStory):
NAME = 'load:news:nytimes'
URL = 'http://mobile.nytimes.com'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
class LoadQqMobileStory(_LoadingStory):
......@@ -174,12 +176,14 @@ class LoadRedditMobileStory(_LoadingStory):
NAME = 'load:news:reddit'
URL = 'https://www.reddit.com/r/news/top/?sort=top&t=week'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
class LoadWashingtonPostMobileStory(_LoadingStory):
NAME = 'load:news:washingtonpost'
URL = 'https://www.washingtonpost.com/pwa'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
_CLOSE_BUTTON_SELECTOR = '.close'
def _DidLoadDocument(self, action_runner):
......@@ -204,7 +208,7 @@ class LoadIrctcStory(_LoadingStory):
NAME = 'load:news:irctc'
URL = 'https://www.irctc.co.in'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.EMERGING_MARKET]
TAGS = [story_tags.EMERGING_MARKET, story_tags.HEALTH_CHECK]
################################################################################
......@@ -217,7 +221,7 @@ class LoadYouTubeStory(_LoadingStory):
NAME = 'load:media:youtube'
URL = 'https://www.youtube.com/watch?v=QGfhS1hfTWw&autoplay=false'
PLATFORM_SPECIFIC = True
TAGS = [story_tags.EMERGING_MARKET]
TAGS = [story_tags.EMERGING_MARKET, story_tags.HEALTH_CHECK]
class LoadDailymotionStory(_LoadingStory):
......@@ -231,6 +235,7 @@ class LoadDailymotionStory(_LoadingStory):
class LoadGoogleImagesStory(_LoadingStory):
NAME = 'load:media:google_images'
URL = 'https://www.google.co.uk/search?tbm=isch&q=love'
TAGS = [story_tags.HEALTH_CHECK]
class LoadSoundCloudStory(_LoadingStory):
......@@ -249,6 +254,7 @@ class Load9GagDesktopStory(_LoadingStory):
class LoadImgurStory(_LoadingStory):
NAME = 'load:media:imgur'
URL = 'http://imgur.com/gallery/5UlBN'
TAGS = [story_tags.HEALTH_CHECK]
class LoadFacebookPhotosMobileStory(_LoadingStory):
......@@ -280,6 +286,7 @@ class LoadDocsStory(_LoadingStory):
NAME = 'load:tools:docs'
URL = (
'https://docs.google.com/document/d/1GvzDP-tTLmJ0myRhUAfTYWs3ZUFilUICg8psNHyccwQ/edit?usp=sharing')
TAGS = [story_tags.HEALTH_CHECK]
class _LoadGmailBaseStory(_LoadingStory):
......@@ -327,6 +334,7 @@ class LoadStackOverflowStory(_LoadingStory):
NAME = 'load:tools:stackoverflow'
URL = (
'https://stackoverflow.com/questions/36827659/compiling-an-application-for-use-in-highly-radioactive-environments')
TAGS = [story_tags.HEALTH_CHECK]
class LoadDropboxStory(_LoadingStory):
......@@ -362,6 +370,7 @@ class LoadBubblesStory(_LoadingStory):
NAME = 'load:games:bubbles'
URL = (
'https://games.cdn.famobi.com/html5games/s/smarty-bubbles/v010/?fg_domain=play.famobi.com&fg_uid=d8f24956-dc91-4902-9096-a46cb1353b6f&fg_pid=4638e320-4444-4514-81c4-d80a8c662371&fg_beat=620')
TAGS = [story_tags.HEALTH_CHECK]
def _DidLoadDocument(self, action_runner):
# The #logo element is removed right before the main menu is displayed.
......@@ -373,12 +382,14 @@ class LoadLazorsStory(_LoadingStory):
NAME = 'load:games:lazors'
# Using "https://" hangs and shows "This site can't be reached".
URL = 'http://www8.games.mobi/games/html5/lazors/lazors.html'
TAGS = [story_tags.HEALTH_CHECK]
class LoadSpyChaseStory(_LoadingStory):
NAME = 'load:games:spychase'
# Using "https://" shows "Your connection is not private".
URL = 'http://playstar.mobi/games/spychase/index.php'
TAGS = [story_tags.HEALTH_CHECK]
def _DidLoadDocument(self, action_runner):
# The background of the game canvas is set when the "Tap screen to play"
......
......@@ -22,6 +22,9 @@ CSS_ANIMATION = Tag(
'css_animation', 'Story has animations that are implemented using CSS.')
EXTENSION = Tag(
'extension', 'Story has browser with extension installed.')
HEALTH_CHECK = Tag( # See go/health_check_stories for details.
'health_check', 'Story belongs to a collection chosen to have a wide '
'coverage but low running time.')
IMAGES = Tag(
'images', 'Story has sites with heavy uses of images.')
INFINITE_SCROLL = Tag('infinite_scroll', 'Story has infinite scroll action.')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment