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): ...@@ -30,6 +30,7 @@ class _BackgroundStory(system_health_story.SystemHealthStory):
class BackgroundGoogleStory(_BackgroundStory): class BackgroundGoogleStory(_BackgroundStory):
NAME = 'background:search:google' NAME = 'background:search:google'
URL = 'https://www.google.co.uk/#q=tom+cruise+movies' URL = 'https://www.google.co.uk/#q=tom+cruise+movies'
TAGS = [story_tags.HEALTH_CHECK]
def _DidLoadDocument(self, action_runner): def _DidLoadDocument(self, action_runner):
# Activte the immersive movie browsing experience # Activte the immersive movie browsing experience
...@@ -79,11 +80,13 @@ class BackgroundImgurMobileStory(_BackgroundStory): ...@@ -79,11 +80,13 @@ class BackgroundImgurMobileStory(_BackgroundStory):
NAME = 'background:media:imgur' NAME = 'background:media:imgur'
URL = 'http://imgur.com/gallery/hUita' URL = 'http://imgur.com/gallery/hUita'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
class BackgroundGmailMobileStory(LoadGmailMobileStory): class BackgroundGmailMobileStory(LoadGmailMobileStory):
NAME = 'background:tools:gmail' NAME = 'background:tools:gmail'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
def _Measure(self, action_runner): def _Measure(self, action_runner):
action_runner.tab.browser.Background() action_runner.tab.browser.Background()
......
...@@ -111,7 +111,7 @@ class CnnStory(_ArticleBrowsingStory): ...@@ -111,7 +111,7 @@ class CnnStory(_ArticleBrowsingStory):
URL = 'http://edition.cnn.com/' URL = 'http://edition.cnn.com/'
ITEM_SELECTOR = '.cd__content > h3 > a' ITEM_SELECTOR = '.cd__content > h3 > a'
ITEMS_TO_VISIT = 2 ITEMS_TO_VISIT = 2
TAGS = [story_tags.JAVASCRIPT_HEAVY] TAGS = [story_tags.JAVASCRIPT_HEAVY, story_tags.HEALTH_CHECK]
class FacebookMobileStory(_ArticleBrowsingStory): class FacebookMobileStory(_ArticleBrowsingStory):
...@@ -182,7 +182,7 @@ class QqMobileStory(_ArticleBrowsingStory): ...@@ -182,7 +182,7 @@ class QqMobileStory(_ArticleBrowsingStory):
URL = 'http://news.qq.com' URL = 'http://news.qq.com'
ITEM_SELECTOR = '.list .full a' ITEM_SELECTOR = '.list .full a'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.INTERNATIONAL] TAGS = [story_tags.INTERNATIONAL, story_tags.HEALTH_CHECK]
class RedditDesktopStory(_ArticleBrowsingStory): class RedditDesktopStory(_ArticleBrowsingStory):
...@@ -403,8 +403,8 @@ class YouTubeMobileStory(_MediaBrowsingStory): ...@@ -403,8 +403,8 @@ class YouTubeMobileStory(_MediaBrowsingStory):
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
IS_SINGLE_PAGE_APP = True IS_SINGLE_PAGE_APP = True
ITEM_SELECTOR_INDEX = 3 ITEM_SELECTOR_INDEX = 3
TAGS = [story_tags.JAVASCRIPT_HEAVY] TAGS = [story_tags.JAVASCRIPT_HEAVY, story_tags.EMERGING_MARKET,
TAGS = [story_tags.EMERGING_MARKET] story_tags.HEALTH_CHECK]
class YouTubeDesktopStory(_MediaBrowsingStory): class YouTubeDesktopStory(_MediaBrowsingStory):
...@@ -552,7 +552,7 @@ class BrowseAvitoMobileStory(_ArticleBrowsingStory): ...@@ -552,7 +552,7 @@ class BrowseAvitoMobileStory(_ArticleBrowsingStory):
NAME = 'browse:shopping:avito' NAME = 'browse:shopping:avito'
URL = 'https://www.avito.ru/rossiya' URL = 'https://www.avito.ru/rossiya'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.EMERGING_MARKET] TAGS = [story_tags.EMERGING_MARKET, story_tags.HEALTH_CHECK]
ITEM_SELECTOR = '.item-link' ITEM_SELECTOR = '.item-link'
ITEMS_TO_VISIT = 4 ITEMS_TO_VISIT = 4
......
...@@ -13,6 +13,7 @@ class BlankAboutBlankStory(system_health_story.SystemHealthStory): ...@@ -13,6 +13,7 @@ class BlankAboutBlankStory(system_health_story.SystemHealthStory):
"""Story that loads the about:blank page.""" """Story that loads the about:blank page."""
NAME = 'load:chrome:blank' NAME = 'load:chrome:blank'
URL = 'about:blank' URL = 'about:blank'
TAGS = [story_tags.HEALTH_CHECK]
def _DidLoadDocument(self, action_runner): def _DidLoadDocument(self, action_runner):
# Request a RAF and wait for it to be processed to ensure that the metric # Request a RAF and wait for it to be processed to ensure that the metric
......
...@@ -33,7 +33,7 @@ class LoadGoogleStory(_LoadingStory): ...@@ -33,7 +33,7 @@ class LoadGoogleStory(_LoadingStory):
class LoadBaiduStory(_LoadingStory): class LoadBaiduStory(_LoadingStory):
NAME = 'load:search:baidu' NAME = 'load:search:baidu'
URL = 'https://www.baidu.com/s?word=google' URL = 'https://www.baidu.com/s?word=google'
TAGS = [story_tags.INTERNATIONAL] TAGS = [story_tags.INTERNATIONAL, story_tags.HEALTH_CHECK]
class LoadYahooStory(_LoadingStory): class LoadYahooStory(_LoadingStory):
...@@ -59,7 +59,7 @@ class LoadTaobaoMobileStory(_LoadingStory): ...@@ -59,7 +59,7 @@ class LoadTaobaoMobileStory(_LoadingStory):
# "ali_trackid" in the URL suppresses "Download app" interstitial. # "ali_trackid" in the URL suppresses "Download app" interstitial.
URL = 'http://m.intl.taobao.com/?ali_trackid' URL = 'http://m.intl.taobao.com/?ali_trackid'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.INTERNATIONAL] TAGS = [story_tags.INTERNATIONAL, story_tags.HEALTH_CHECK]
class LoadYandexStory(_LoadingStory): class LoadYandexStory(_LoadingStory):
...@@ -72,6 +72,7 @@ class LoadEbayStory(_LoadingStory): ...@@ -72,6 +72,7 @@ class LoadEbayStory(_LoadingStory):
NAME = 'load:search:ebay' NAME = 'load:search:ebay'
# Redirects to the "http://" version. # Redirects to the "http://" version.
URL = 'https://www.ebay.com/sch/i.html?_nkw=headphones' URL = 'https://www.ebay.com/sch/i.html?_nkw=headphones'
TAGS = [story_tags.HEALTH_CHECK]
################################################################################ ################################################################################
...@@ -155,6 +156,7 @@ class LoadNytimesMobileStory(_LoadingStory): ...@@ -155,6 +156,7 @@ class LoadNytimesMobileStory(_LoadingStory):
NAME = 'load:news:nytimes' NAME = 'load:news:nytimes'
URL = 'http://mobile.nytimes.com' URL = 'http://mobile.nytimes.com'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
class LoadQqMobileStory(_LoadingStory): class LoadQqMobileStory(_LoadingStory):
...@@ -174,12 +176,14 @@ class LoadRedditMobileStory(_LoadingStory): ...@@ -174,12 +176,14 @@ class LoadRedditMobileStory(_LoadingStory):
NAME = 'load:news:reddit' NAME = 'load:news:reddit'
URL = 'https://www.reddit.com/r/news/top/?sort=top&t=week' URL = 'https://www.reddit.com/r/news/top/?sort=top&t=week'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
class LoadWashingtonPostMobileStory(_LoadingStory): class LoadWashingtonPostMobileStory(_LoadingStory):
NAME = 'load:news:washingtonpost' NAME = 'load:news:washingtonpost'
URL = 'https://www.washingtonpost.com/pwa' URL = 'https://www.washingtonpost.com/pwa'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY
TAGS = [story_tags.HEALTH_CHECK]
_CLOSE_BUTTON_SELECTOR = '.close' _CLOSE_BUTTON_SELECTOR = '.close'
def _DidLoadDocument(self, action_runner): def _DidLoadDocument(self, action_runner):
...@@ -204,7 +208,7 @@ class LoadIrctcStory(_LoadingStory): ...@@ -204,7 +208,7 @@ class LoadIrctcStory(_LoadingStory):
NAME = 'load:news:irctc' NAME = 'load:news:irctc'
URL = 'https://www.irctc.co.in' URL = 'https://www.irctc.co.in'
SUPPORTED_PLATFORMS = platforms.MOBILE_ONLY 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): ...@@ -217,7 +221,7 @@ class LoadYouTubeStory(_LoadingStory):
NAME = 'load:media:youtube' NAME = 'load:media:youtube'
URL = 'https://www.youtube.com/watch?v=QGfhS1hfTWw&autoplay=false' URL = 'https://www.youtube.com/watch?v=QGfhS1hfTWw&autoplay=false'
PLATFORM_SPECIFIC = True PLATFORM_SPECIFIC = True
TAGS = [story_tags.EMERGING_MARKET] TAGS = [story_tags.EMERGING_MARKET, story_tags.HEALTH_CHECK]
class LoadDailymotionStory(_LoadingStory): class LoadDailymotionStory(_LoadingStory):
...@@ -231,6 +235,7 @@ class LoadDailymotionStory(_LoadingStory): ...@@ -231,6 +235,7 @@ class LoadDailymotionStory(_LoadingStory):
class LoadGoogleImagesStory(_LoadingStory): class LoadGoogleImagesStory(_LoadingStory):
NAME = 'load:media:google_images' NAME = 'load:media:google_images'
URL = 'https://www.google.co.uk/search?tbm=isch&q=love' URL = 'https://www.google.co.uk/search?tbm=isch&q=love'
TAGS = [story_tags.HEALTH_CHECK]
class LoadSoundCloudStory(_LoadingStory): class LoadSoundCloudStory(_LoadingStory):
...@@ -249,6 +254,7 @@ class Load9GagDesktopStory(_LoadingStory): ...@@ -249,6 +254,7 @@ class Load9GagDesktopStory(_LoadingStory):
class LoadImgurStory(_LoadingStory): class LoadImgurStory(_LoadingStory):
NAME = 'load:media:imgur' NAME = 'load:media:imgur'
URL = 'http://imgur.com/gallery/5UlBN' URL = 'http://imgur.com/gallery/5UlBN'
TAGS = [story_tags.HEALTH_CHECK]
class LoadFacebookPhotosMobileStory(_LoadingStory): class LoadFacebookPhotosMobileStory(_LoadingStory):
...@@ -280,6 +286,7 @@ class LoadDocsStory(_LoadingStory): ...@@ -280,6 +286,7 @@ class LoadDocsStory(_LoadingStory):
NAME = 'load:tools:docs' NAME = 'load:tools:docs'
URL = ( URL = (
'https://docs.google.com/document/d/1GvzDP-tTLmJ0myRhUAfTYWs3ZUFilUICg8psNHyccwQ/edit?usp=sharing') 'https://docs.google.com/document/d/1GvzDP-tTLmJ0myRhUAfTYWs3ZUFilUICg8psNHyccwQ/edit?usp=sharing')
TAGS = [story_tags.HEALTH_CHECK]
class _LoadGmailBaseStory(_LoadingStory): class _LoadGmailBaseStory(_LoadingStory):
...@@ -327,6 +334,7 @@ class LoadStackOverflowStory(_LoadingStory): ...@@ -327,6 +334,7 @@ class LoadStackOverflowStory(_LoadingStory):
NAME = 'load:tools:stackoverflow' NAME = 'load:tools:stackoverflow'
URL = ( URL = (
'https://stackoverflow.com/questions/36827659/compiling-an-application-for-use-in-highly-radioactive-environments') 'https://stackoverflow.com/questions/36827659/compiling-an-application-for-use-in-highly-radioactive-environments')
TAGS = [story_tags.HEALTH_CHECK]
class LoadDropboxStory(_LoadingStory): class LoadDropboxStory(_LoadingStory):
...@@ -362,6 +370,7 @@ class LoadBubblesStory(_LoadingStory): ...@@ -362,6 +370,7 @@ class LoadBubblesStory(_LoadingStory):
NAME = 'load:games:bubbles' NAME = 'load:games:bubbles'
URL = ( 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') '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): def _DidLoadDocument(self, action_runner):
# The #logo element is removed right before the main menu is displayed. # The #logo element is removed right before the main menu is displayed.
...@@ -373,12 +382,14 @@ class LoadLazorsStory(_LoadingStory): ...@@ -373,12 +382,14 @@ class LoadLazorsStory(_LoadingStory):
NAME = 'load:games:lazors' NAME = 'load:games:lazors'
# Using "https://" hangs and shows "This site can't be reached". # Using "https://" hangs and shows "This site can't be reached".
URL = 'http://www8.games.mobi/games/html5/lazors/lazors.html' URL = 'http://www8.games.mobi/games/html5/lazors/lazors.html'
TAGS = [story_tags.HEALTH_CHECK]
class LoadSpyChaseStory(_LoadingStory): class LoadSpyChaseStory(_LoadingStory):
NAME = 'load:games:spychase' NAME = 'load:games:spychase'
# Using "https://" shows "Your connection is not private". # Using "https://" shows "Your connection is not private".
URL = 'http://playstar.mobi/games/spychase/index.php' URL = 'http://playstar.mobi/games/spychase/index.php'
TAGS = [story_tags.HEALTH_CHECK]
def _DidLoadDocument(self, action_runner): def _DidLoadDocument(self, action_runner):
# The background of the game canvas is set when the "Tap screen to play" # The background of the game canvas is set when the "Tap screen to play"
......
...@@ -22,6 +22,9 @@ CSS_ANIMATION = Tag( ...@@ -22,6 +22,9 @@ CSS_ANIMATION = Tag(
'css_animation', 'Story has animations that are implemented using CSS.') 'css_animation', 'Story has animations that are implemented using CSS.')
EXTENSION = Tag( EXTENSION = Tag(
'extension', 'Story has browser with extension installed.') '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 = Tag(
'images', 'Story has sites with heavy uses of images.') 'images', 'Story has sites with heavy uses of images.')
INFINITE_SCROLL = Tag('infinite_scroll', 'Story has infinite scroll action.') 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