Commit 611f3870 authored by Ross McIlroy's avatar Ross McIlroy Committed by Commit Bot

[soundwave] Update v8_study to collect data on 32/64-bit benchmarks

BUG=894773

Change-Id: I57c5c7cea3effd7a09bc72b3fe4893bb094eebb7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1731908Reviewed-by: default avatarJuan Antonio Navarro Pérez <perezju@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#683971}
parent 6822a5a7
...@@ -27,6 +27,7 @@ def PostProcess(df): ...@@ -27,6 +27,7 @@ def PostProcess(df):
'quarter')['timestamp'].transform('max').dt.date 'quarter')['timestamp'].transform('max').dt.date
# Change units for values in ms to seconds, and percent values. # Change units for values in ms to seconds, and percent values.
df['units'] = df['units'].fillna('')
is_ms_unit = df['units'].str.startswith('ms_') is_ms_unit = df['units'].str.startswith('ms_')
df.loc[is_ms_unit, 'value'] = df['value'] / 1000 df.loc[is_ms_unit, 'value'] = df['value'] / 1000
......
...@@ -8,41 +8,61 @@ from cli_tools.soundwave.tables import timeseries ...@@ -8,41 +8,61 @@ from cli_tools.soundwave.tables import timeseries
CLOUD_PATH = 'gs://chrome-health-tvdata/datasets/v8_report.csv' CLOUD_PATH = 'gs://chrome-health-tvdata/datasets/v8_report.csv'
ANDROID_GO = 'ChromiumPerf:android-go-perf' PIXEL_32_BITS = 'ChromiumPerf:android-pixel2-perf'
V8_EFFECTIVE_SIZE = ( PIXEL_64_BITS = 'ChromiumPerfFyi:android-pixel2-perf-fyi'
'memory:chrome:renderer_processes:reported_by_chrome:v8:effective_size')
BROWSING_TEST_SUITES = {
'v8.browsing_mobile': ['Total:duration', 'V8-Only:duration']
TEST_SUITES = {
'system_health.memory_mobile': [
V8_EFFECTIVE_SIZE],
'system_health.common_mobile': [
'timeToFirstContentfulPaint', 'timeToFirstMeaningfulPaint',
'timeToInteractive'],
'v8.browsing_mobile': [
'Total:duration', 'V8-Only:duration', V8_EFFECTIVE_SIZE]
} }
BENCHMARK_TEST_SUITES = {
'speedometer2': ['RunsPerMinute'],
'octane': ['Total.Score'],
'jetstream' : ['Score']
}
def GetEmergingMarketStories(): def GetV8BrowsingMobile():
# The describe API doesn't currently work with v8.browsing_mobile, so use
# system_health.memory_mobile instead since it has the same test cases.
description = dashboard_service.Describe('system_health.memory_mobile') description = dashboard_service.Describe('system_health.memory_mobile')
return description['caseTags']['emerging_market'] return description['cases']
def IterTestPaths(): def IterTestPaths():
# We want to track emerging market stories only. v8_browsing_test_cases = GetV8BrowsingMobile()
test_cases = GetEmergingMarketStories()
for test_suite, measurements in TEST_SUITES.iteritems(): for bot in [PIXEL_32_BITS, PIXEL_64_BITS]:
bot_path = bot.replace(':', "/")
for test_suite, measurements in BROWSING_TEST_SUITES.iteritems():
# v8.browsing_mobile only runs 'browse:*' stories, while other benchmarks # v8.browsing_mobile only runs 'browse:*' stories, while other benchmarks
# run all of them. # run all of them.
browse_only = 'browsing' in test_suite browse_only = 'browsing' in test_suite
for test_case in test_cases: for test_case in v8_browsing_test_cases:
if browse_only and not test_case.startswith('browse:'): if browse_only and not test_case.startswith('browse:'):
continue continue
# Don't yield the page category entries.
test_case_parts = test_case.split(':')
if len(test_case_parts) <= 2:
continue
# Remove disabled tests from the list of those to be collected.
if test_case_parts[2] in ['toi', 'globo', 'flipkart', 'avito']:
continue
page = '_'.join(test_case_parts)
page_category = '_'.join(test_case_parts[0:2])
for measurement in measurements:
# The v2 API doesn't support v8.browsing_mobile, so fall back on the v1
# API for now.
yield '/'.join(
[bot_path, test_suite, measurement, page_category, page])
for test_suite, measurements in BENCHMARK_TEST_SUITES.iteritems():
for measurement in measurements: for measurement in measurements:
yield timeseries.Key( yield timeseries.Key(
test_suite=test_suite, test_suite=test_suite,
measurement=measurement, measurement=measurement,
bot=ANDROID_GO, bot=bot,
test_case=test_case) test_case='')
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