Commit 9867b18b authored by Caleb Rouleau's avatar Caleb Rouleau Committed by Commit Bot

[Telemetry] Provide abridged story sets for rendering and system health.

Note that this will have no impact on what is currently running
on the waterfall because all benchmarks are labeled as
abridged: False right now.

This change is now possible because:

1. Pinpoint was taught to use the --run-full-story-set flag by
https://chromium-review.googlesource.com/c/catapult/+/1874451

2. benchmark_smoke_unittest.py was fixed:
https://chromium-review.googlesource.com/c/chromium/src/+/1874821

Note that system_health_smoke_test.py is fixed as part of this
change.
I tested this fix by running
/run_tests benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop/load:game
and seeing that the stories, a mix of health_check stories
and stories without the health_check tag were all run.

Bug: 965158
Change-Id: I42ca28543155536da62d9b02d9bf31d8eb311ac3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1687783
Commit-Queue: Caleb Rouleau <crouleau@chromium.org>
Reviewed-by: default avatarSadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: default avatarJuan Antonio Navarro Pérez <perezju@chromium.org>
Cr-Commit-Position: refs/heads/master@{#711017}
parent 6e9982b9
...@@ -271,6 +271,7 @@ def _GenerateSmokeTestCase(benchmark_class, story_to_smoke_test): ...@@ -271,6 +271,7 @@ def _GenerateSmokeTestCase(benchmark_class, story_to_smoke_test):
def GenerateBenchmarkOptions(output_dir, benchmark_cls): def GenerateBenchmarkOptions(output_dir, benchmark_cls):
options = testing.GetRunOptions( options = testing.GetRunOptions(
output_dir=output_dir, benchmark_cls=benchmark_cls, output_dir=output_dir, benchmark_cls=benchmark_cls,
overrides={'run_full_story_set': True},
environment=chromium_config.GetDefaultChromiumConfig()) environment=chromium_config.GetDefaultChromiumConfig())
options.pageset_repeat = 1 # For smoke testing only run each page once. options.pageset_repeat = 1 # For smoke testing only run each page once.
options.output_formats = ['histograms'] options.output_formats = ['histograms']
......
...@@ -22,6 +22,7 @@ class RenderingStorySet(story.StorySet): ...@@ -22,6 +22,7 @@ class RenderingStorySet(story.StorySet):
cloud_storage_bucket=story.PARTNER_BUCKET) cloud_storage_bucket=story.PARTNER_BUCKET)
assert platform in platforms.ALL_PLATFORMS assert platform in platforms.ALL_PLATFORMS
self._platform = platform
if platform == platforms.MOBILE: if platform == platforms.MOBILE:
shared_page_state_class = shared_state.MobileRenderingSharedState shared_page_state_class = shared_state.MobileRenderingSharedState
...@@ -80,6 +81,18 @@ class RenderingStorySet(story.StorySet): ...@@ -80,6 +81,18 @@ class RenderingStorySet(story.StorySet):
shared_page_state_class=shared_page_state_class, shared_page_state_class=shared_page_state_class,
name_suffix=name_suffix)) name_suffix=name_suffix))
def GetAbridgedStorySetTagFilter(self):
if self._platform == platforms.DESKTOP:
if os.name == 'nt':
return 'representative_win_desktop'
else:
# There is no specific tag for linux, cros, etc,
# so just use mac's.
return 'representative_mac_desktop'
elif self._platform == platforms.MOBILE:
return 'representative_mobile'
raise RuntimeError('Platform {} is not in the list of expected platforms.')
class DesktopRenderingStorySet(RenderingStorySet): class DesktopRenderingStorySet(RenderingStorySet):
"""Desktop stories related to rendering. """Desktop stories related to rendering.
......
...@@ -6,6 +6,7 @@ import os ...@@ -6,6 +6,7 @@ import os
from page_sets.system_health import chrome_stories from page_sets.system_health import chrome_stories
from page_sets.system_health import platforms from page_sets.system_health import platforms
from page_sets.system_health import story_tags
from page_sets.system_health import system_health_story from page_sets.system_health import system_health_story
from telemetry import story from telemetry import story
...@@ -32,6 +33,9 @@ class SystemHealthStorySet(story.StorySet): ...@@ -32,6 +33,9 @@ class SystemHealthStorySet(story.StorySet):
continue continue
self.AddStory(story_class(self, take_memory_measurement)) self.AddStory(story_class(self, take_memory_measurement))
def GetAbridgedStorySetTagFilter(self):
return story_tags.HEALTH_CHECK.name
class SystemHealthBlankStorySet(story.StorySet): class SystemHealthBlankStorySet(story.StorySet):
"""A story set containing the chrome:blank story only.""" """A story set containing the chrome:blank story only."""
......
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