[Perf] Disabled Test Picker fields while waiting for requests.
This prevents undefined behavior that occurred when a user modified a field while the next one was still loading.
Additionally add demo page for ExploreMultiSk.
Change-Id: I28b1a4f2c9a23a2e30079dee979b74fb63781e1a
Reviewed-on: https://skia-review.googlesource.com/c/buildbot/+/868649
Reviewed-by: Ashwin Verleker <ashwinpv@google.com>
Commit-Queue: Eduardo Yap <eduardoyap@google.com>
diff --git a/perf/modules/common/BUILD.bazel b/perf/modules/common/BUILD.bazel
index b8a0c4c..78cfd94 100644
--- a/perf/modules/common/BUILD.bazel
+++ b/perf/modules/common/BUILD.bazel
@@ -19,3 +19,14 @@
"//perf/modules/json:index_ts_lib",
],
)
+
+ts_library(
+ name = "test-util_ts_lib",
+ srcs = ["test-util.ts"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//:node_modules/fetch-mock",
+ "//infra-sk/modules/json:index_ts_lib",
+ "//perf/modules/json:index_ts_lib",
+ ],
+)
diff --git a/perf/modules/common/test-util.ts b/perf/modules/common/test-util.ts
new file mode 100644
index 0000000..fdd7c2f
--- /dev/null
+++ b/perf/modules/common/test-util.ts
@@ -0,0 +1,435 @@
+// Functions to be used by test and demo files. These helps create dummy data and API mocks.
+import fetchMock, { restore } from 'fetch-mock';
+import { Status } from '../../../infra-sk/modules/json';
+import { QueryConfig, GraphConfig, ParamSet } from '../json';
+
+export function setUpExploreDemoEnv() {
+ const status: Status = {
+ email: 'user@google.com',
+ roles: ['viewer', 'admin', 'editor', 'bisecter'],
+ };
+
+ fetchMock.get('/_/login/status', status);
+
+ const paramSet = {
+ arch: ['arm', 'arm64', 'x86_64'],
+ bench_type: ['skandroidcodec'],
+ compiler: ['Clang'],
+ config: ['nonrendering'],
+ configuration: ['OptimizeForSize'],
+ cpu_or_gpu: ['CPU'],
+ cpu_or_gpu_value: ['AVX2', 'AVX512', 'Snapdragon855', 'SnapdragonQM215'],
+ extra_config: [
+ 'Android',
+ 'Android_Wuffs',
+ 'ColorSpaces',
+ 'Fast',
+ 'SK_FORCE_RASTER_PIPELINE_BLITTER',
+ 'Wuffs',
+ ],
+ model: ['GCE', 'JioNext', 'MacBookPro11.5', 'NUC9i7QN', 'Pixel4'],
+ name: ['AndroidCodec_01_original.jpg_SampleSize2'],
+ os: ['Android', 'Debian10', 'Debian11', 'Mac10.13', 'Win2019'],
+ source_type: ['image'],
+ sub_result: ['min_ms', 'min_ratio'],
+ };
+
+ fetchMock.get(/_\/initpage\/.*/, () => ({
+ dataframe: {
+ traceset: null,
+ header: null,
+ paramset: paramSet,
+ skip: 0,
+ },
+ ticks: [],
+ skps: [],
+ msg: '',
+ }));
+
+ fetchMock.post('/_/count/', {
+ count: 117, // Don't make the demo page non-deterministic.
+ paramset: paramSet,
+ });
+
+ fetchMock.post('/_/frame/start', {
+ status: 'Running',
+ messages: [],
+ url: '/_/status/d25fedcc-7e36-47e4-83d5-58ab76b2d3d1',
+ });
+
+ const defaultConfig: QueryConfig = {
+ default_param_selections: null,
+ default_url_values: null,
+ include_params: [
+ 'arch',
+ 'config',
+ 'bench_type',
+ 'compiler',
+ 'model',
+ 'os',
+ 'sub_result',
+ ],
+ };
+
+ fetchMock.get('/_/defaults/', defaultConfig);
+
+ const normalTracesResponse = {
+ status: 'Finished',
+ messages: [
+ {
+ key: 'Step',
+ value: '1/1',
+ },
+ ],
+ results: {
+ dataframe: {
+ traceset: {
+ ',arch=arm,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=SnapdragonQM215,extra_config=Android,model=JioNext,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ms,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
+ [
+ 61.2075, 60.687603, 61.30078, 61.660313, 60.830208, 60.854946,
+ 60.8525, 61.43297, 61.24557, 61.098125, 61.284843, 60.7938,
+ 61.741615, 62.60328, 60.93729, 60.925156, 63.232346, 61.770676,
+ 62.252968, 61.87958, 61.140102, 62.40708, 62.869167, 60.893852,
+ 61.042187, 61.17974, 61.73057, 61.754063, 60.726772, 61.837135,
+ 61.868282, 61.161095, 61.88469, 60.81271, 61.4625, 60.91443,
+ 60.806095, 60.81344, 61.624477, 60.98828, 60.838856, 61.989845,
+ 60.84349, 61.973698, 61.97073, 60.615208, 62.083595, 61.148228,
+ 1e32, 1e32,
+ ],
+ ',arch=arm,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=SnapdragonQM215,extra_config=Android,model=JioNext,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ratio,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
+ [
+ 1.0053873, 1.0019164, 1.0029848, 1.002643, 1.0012664, 1.0028929,
+ 1.0037411, 1.003003, 1.0050658, 1.007233, 1.0022581, 1.001872,
+ 1.0027552, 1.0019709, 1.0021086, 1.0030998, 1.0080754, 1.0013162,
+ 1.0025258, 1.0044054, 1.0017514, 1.0026898, 1.0032914, 1.0032947,
+ 1.0027568, 1.0056816, 1.0076947, 1.0022088, 1.0029486, 1.0037018,
+ 1.0043061, 1.0032768, 1.0015746, 1.0046197, 1.0041125, 1.0060117,
+ 1.0032651, 1.0015031, 1.0050989, 1.0046166, 1.0052769, 1.0035608,
+ 1.0040259, 1.002186, 1.0046998, 1.0016583, 1.0048993, 1.0062689,
+ 1e32, 1e32,
+ ],
+ ',arch=arm64,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=Snapdragon855,extra_config=Android_Wuffs,model=Pixel4,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ms,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
+ [
+ 13.51672, 13.434168, 13.47146, 13.494012, 13.464116, 13.450209,
+ 13.423439, 13.434011, 13.502189, 13.435418, 13.398959, 13.401876,
+ 13.412658, 13.531095, 13.503022, 13.520366, 13.41073, 13.391043,
+ 13.389377, 13.370262, 13.394116, 13.366512, 13.373126, 13.494376,
+ 13.482189, 13.390887, 13.423231, 13.388387, 13.369949, 13.377084,
+ 13.387605, 13.409533, 13.423283, 13.372189, 13.372918, 13.435366,
+ 13.38495, 13.405939, 13.390105, 13.502606, 13.381928, 13.329532,
+ 13.420783, 13.419793, 13.440002, 1e32, 13.488907, 1e32, 13.49323,
+ 1e32,
+ ],
+ ',arch=arm64,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=Snapdragon855,extra_config=Android_Wuffs,model=Pixel4,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ratio,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
+ [
+ 1.0060265, 1.0050516, 1.0032824, 1.0048633, 1.0030173, 1.0089877,
+ 1.005564, 1.0143331, 1.0087292, 1.004551, 1.0055237, 1.0070225,
+ 1.0050403, 1.0034873, 1.0055274, 1.0046265, 1.0032196, 1.0046984,
+ 1.0029291, 1.0070547, 1.0091536, 1.007189, 1.0019591, 1.0073526,
+ 1.0068724, 1.0070788, 1.0009079, 1.0057614, 1.0018076, 1.0048864,
+ 1.0045946, 1.0053095, 1.0055135, 1.0083896, 1.007283, 1.009362,
+ 1.0063659, 1.0073311, 1.0077171, 1.0068235, 1.0078387, 1.010589,
+ 1.0133693, 1.001502, 1.0090255, 1e32, 1.0033516, 1e32, 1.0042962,
+ 1e32,
+ ],
+ },
+ header: [
+ {
+ offset: 67125,
+ timestamp: 1687855198,
+ },
+ {
+ offset: 67126,
+ timestamp: 1687857789,
+ },
+ {
+ offset: 67127,
+ timestamp: 1687868015,
+ },
+ {
+ offset: 67128,
+ timestamp: 1687868368,
+ },
+ {
+ offset: 67129,
+ timestamp: 1687870256,
+ },
+ {
+ offset: 67130,
+ timestamp: 1687872763,
+ },
+ {
+ offset: 67131,
+ timestamp: 1687877748,
+ },
+ {
+ offset: 67132,
+ timestamp: 1687878083,
+ },
+ {
+ offset: 67133,
+ timestamp: 1687878588,
+ },
+ {
+ offset: 67134,
+ timestamp: 1687878658,
+ },
+ {
+ offset: 67135,
+ timestamp: 1687878976,
+ },
+ {
+ offset: 67136,
+ timestamp: 1687879230,
+ },
+ {
+ offset: 67137,
+ timestamp: 1687881375,
+ },
+ {
+ offset: 67138,
+ timestamp: 1687884748,
+ },
+ {
+ offset: 67139,
+ timestamp: 1687885047,
+ },
+ {
+ offset: 67140,
+ timestamp: 1687885507,
+ },
+ {
+ offset: 67141,
+ timestamp: 1687886132,
+ },
+ {
+ offset: 67142,
+ timestamp: 1687886787,
+ },
+ {
+ offset: 67143,
+ timestamp: 1687887013,
+ },
+ {
+ offset: 67144,
+ timestamp: 1687888513,
+ },
+ {
+ offset: 67145,
+ timestamp: 1687891891,
+ },
+ {
+ offset: 67146,
+ timestamp: 1687891925,
+ },
+ {
+ offset: 67147,
+ timestamp: 1687895229,
+ },
+ {
+ offset: 67148,
+ timestamp: 1687895693,
+ },
+ {
+ offset: 67149,
+ timestamp: 1687896092,
+ },
+ {
+ offset: 67150,
+ timestamp: 1687896114,
+ },
+ {
+ offset: 67151,
+ timestamp: 1687896459,
+ },
+ {
+ offset: 67152,
+ timestamp: 1687900291,
+ },
+ {
+ offset: 67153,
+ timestamp: 1687900389,
+ },
+ {
+ offset: 67154,
+ timestamp: 1687900992,
+ },
+ {
+ offset: 67155,
+ timestamp: 1687904682,
+ },
+ {
+ offset: 67156,
+ timestamp: 1687907669,
+ },
+ {
+ offset: 67157,
+ timestamp: 1687909158,
+ },
+ {
+ offset: 67158,
+ timestamp: 1687910749,
+ },
+ {
+ offset: 67159,
+ timestamp: 1687911636,
+ },
+ {
+ offset: 67160,
+ timestamp: 1687911698,
+ },
+ {
+ offset: 67161,
+ timestamp: 1687913983,
+ },
+ {
+ offset: 67162,
+ timestamp: 1687914369,
+ },
+ {
+ offset: 67163,
+ timestamp: 1687917173,
+ },
+ {
+ offset: 67164,
+ timestamp: 1687927827,
+ },
+ {
+ offset: 67165,
+ timestamp: 1687928532,
+ },
+ {
+ offset: 67166,
+ timestamp: 1687928754,
+ },
+ {
+ offset: 67167,
+ timestamp: 1687930648,
+ },
+ {
+ offset: 67168,
+ timestamp: 1687933565,
+ },
+ {
+ offset: 67169,
+ timestamp: 1687936673,
+ },
+ {
+ offset: 67170,
+ timestamp: 1687958245,
+ },
+ {
+ offset: 67171,
+ timestamp: 1687958371,
+ },
+ {
+ offset: 67172,
+ timestamp: 1687958912,
+ },
+ {
+ offset: 67173,
+ timestamp: 1687960354,
+ },
+ {
+ offset: 67174,
+ timestamp: 1687961972,
+ },
+ ],
+ paramset: {
+ arch: ['arm', 'arm64', 'x86_64'],
+ bench_type: ['skandroidcodec'],
+ compiler: ['Clang'],
+ config: ['nonrendering'],
+ configuration: ['OptimizeForSize'],
+ cpu_or_gpu: ['CPU'],
+ cpu_or_gpu_value: [
+ 'AVX2',
+ 'AVX512',
+ 'Snapdragon855',
+ 'SnapdragonQM215',
+ ],
+ extra_config: [
+ 'Android',
+ 'Android_Wuffs',
+ 'ColorSpaces',
+ 'Fast',
+ 'SK_FORCE_RASTER_PIPELINE_BLITTER',
+ 'Wuffs',
+ ],
+ model: ['GCE', 'JioNext', 'MacBookPro11.5', 'NUC9i7QN', 'Pixel4'],
+ name: ['AndroidCodec_01_original.jpg_SampleSize2'],
+ os: ['Android', 'Debian10', 'Debian11', 'Mac10.13', 'Win2019'],
+ source_type: ['image'],
+ sub_result: ['min_ms', 'min_ratio'],
+ test: ['AndroidCodec_01_original.jpg_SampleSize2_640_480'],
+ },
+ skip: 0,
+ },
+ skps: [],
+ msg: '',
+ display_mode: 'display_plot',
+ anomalymap: null,
+ },
+ url: '/_/status/d25fedcc-7e36-47e4-83d5-58ab76b2d3d1',
+ };
+
+ fetchMock.get(
+ '/_/status/d25fedcc-7e36-47e4-83d5-58ab76b2d3d1',
+ normalTracesResponse
+ );
+
+ fetchMock.post('/_/cid/', {
+ commitSlice: [
+ {
+ offset: 67193,
+ hash: '0d7087e5b99087f5945f04dbda7b7a7a4b12e344',
+ ts: 1687990261,
+ author: 'John Stiles (johnstiles@google.com)',
+ message: 'Remove Win10 + ANGLE + IrisXe test and perf jobs.',
+ url: 'https://skia.googlesource.com/skia/+show/0d7087e5b99087f5945f04dbda7b7a7a4b12e344',
+ body: '',
+ },
+ {
+ offset: 67194,
+ hash: '2894e7194406ad8014d3e85b39379ca0e4607ead',
+ ts: 1687991201,
+ author: 'Arman Uguray (armansito@google.com)',
+ message: 'Roll vello from ef2630ad to 12e764d5',
+ url: 'https://skia.googlesource.com/skia/+show/2894e7194406ad8014d3e85b39379ca0e4607ead',
+ body: '',
+ },
+ ],
+ logEntry:
+ 'commit 0d7087e5b99087f5945f04dbda7b7a7a4b12e344\nAuthor John Stiles (johnstiles@google.com)\nDate 28 Jun 23 22:11 +0000\n\nRemove Win10 + ANGLE + IrisXe test and perf jobs.\n\nOnce skia:14417 is resolved, we should reinstate these jobs.\n\nBug: skia:14417\nChange-Id: Ib6b2a06cf7983c998d1d4e95a5e4973377b3bd48\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/718157\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Joe Gregorio \u003cjcgregorio@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Joe Gregorio \u003cjcgregorio@google.com\u003e\n',
+ });
+
+ fetchMock.post('/_/details/?results=false', {
+ gitHash: 'e539c1a62d339f6509463a7e59d83141576e3722',
+ key: {
+ arch: 'arm',
+ compiler: 'Clang',
+ cpu_or_gpu: 'CPU',
+ cpu_or_gpu_value: 'SnapdragonQM215',
+ extra_config: 'Android',
+ model: 'JioNext',
+ os: 'Android',
+ },
+ swarming_bot_id: 'skia-rpi2-rack1-shelf1-026',
+ swarming_task_id: '631c9c79d2c59211',
+ });
+
+ fetchMock.post('/_/shortcut/get', {
+ GraphConfig: {
+ queries: ['arch=arm64&bench_type=skandroidcodec'],
+ },
+ });
+
+ fetchMock.post('/_/nextParamList/', {
+ paramset: paramSet,
+ count: 4,
+ });
+
+ fetchMock.post('/_/shortcut/update', {
+ id: 'aaab78c9711cb79197d47f448ba51338',
+ });
+}
diff --git a/perf/modules/explore-multi-sk/BUILD.bazel b/perf/modules/explore-multi-sk/BUILD.bazel
index 2f26bf7..9a417fa 100644
--- a/perf/modules/explore-multi-sk/BUILD.bazel
+++ b/perf/modules/explore-multi-sk/BUILD.bazel
@@ -1,4 +1,4 @@
-load("//infra-sk:index.bzl", "sk_element")
+load("//infra-sk:index.bzl", "sk_demo_page_server", "sk_element", "sk_page")
sk_element(
name = "explore-multi-sk",
@@ -29,3 +29,20 @@
],
visibility = ["//visibility:public"],
)
+
+sk_demo_page_server(
+ name = "demo_page_server",
+ sk_page = ":explore-multi-sk-demo",
+)
+
+sk_page(
+ name = "explore-multi-sk-demo",
+ html_file = "explore-multi-sk-demo.html",
+ scss_entry_point = "explore-multi-sk-demo.scss",
+ sk_element_deps = [
+ "//elements-sk/modules/error-toast-sk",
+ ":explore-multi-sk",
+ ],
+ ts_deps = ["//perf/modules/common:test-util_ts_lib"],
+ ts_entry_point = "explore-multi-sk-demo.ts",
+)
diff --git a/perf/modules/explore-multi-sk/explore-multi-sk-demo.html b/perf/modules/explore-multi-sk/explore-multi-sk-demo.html
new file mode 100644
index 0000000..ea836a9
--- /dev/null
+++ b/perf/modules/explore-multi-sk/explore-multi-sk-demo.html
@@ -0,0 +1,18 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>explore-sk</title>
+ <meta charset="utf-8" />
+ <meta http-equiv="X-UA-Compatible" content="IE=edge" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ </head>
+
+ <body class="body-sk font-sk">
+
+ <section class="body-sk font-sk darkmode">
+ <h1>explore-multi-sk</h1>
+ <!-- the element will appear here. -->
+ </section>
+ <error-toast-sk> </error-toast-sk>
+ </body>
+</html>
diff --git a/perf/modules/explore-multi-sk/explore-multi-sk-demo.scss b/perf/modules/explore-multi-sk/explore-multi-sk-demo.scss
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/perf/modules/explore-multi-sk/explore-multi-sk-demo.scss
diff --git a/perf/modules/explore-multi-sk/explore-multi-sk-demo.ts b/perf/modules/explore-multi-sk/explore-multi-sk-demo.ts
new file mode 100644
index 0000000..1d94c9a
--- /dev/null
+++ b/perf/modules/explore-multi-sk/explore-multi-sk-demo.ts
@@ -0,0 +1,34 @@
+import './index';
+import '../../../elements-sk/modules/error-toast-sk';
+import { setUpExploreDemoEnv } from '../common/test-util';
+
+setUpExploreDemoEnv();
+
+window.perf = {
+ commit_range_url: '',
+ key_order: ['config'],
+ demo: true,
+ radius: 7,
+ num_shift: 10,
+ interesting: 25,
+ step_up_only: false,
+ display_group_by: true,
+ hide_list_of_commits_on_explore: false,
+ notifications: 'none',
+ fetch_chrome_perf_anomalies: false,
+ feedback_url: '',
+ chat_url: '',
+ help_url_override: '',
+ trace_format: 'chrome',
+ need_alert_action: false,
+ bug_host_url: '',
+};
+
+customElements.whenDefined('explore-multi-sk').then(() => {
+ document
+ .querySelector('h1')!
+ .insertAdjacentElement(
+ 'afterend',
+ document.createElement('explore-multi-sk')
+ );
+});
diff --git a/perf/modules/explore-sk/BUILD.bazel b/perf/modules/explore-sk/BUILD.bazel
index 55d84b8..e0eba98 100644
--- a/perf/modules/explore-sk/BUILD.bazel
+++ b/perf/modules/explore-sk/BUILD.bazel
@@ -45,6 +45,7 @@
"//infra-sk/modules:dom_ts_lib",
"//perf/modules/json:index_ts_lib",
"//:node_modules/fetch-mock",
+ "//perf/modules/common:test-util_ts_lib",
],
ts_entry_point = "explore-sk-demo.ts",
)
diff --git a/perf/modules/explore-sk/explore-sk-demo.ts b/perf/modules/explore-sk/explore-sk-demo.ts
index 3039e95..f8379db 100644
--- a/perf/modules/explore-sk/explore-sk-demo.ts
+++ b/perf/modules/explore-sk/explore-sk-demo.ts
@@ -7,443 +7,9 @@
import { ExploreSk } from './explore-sk';
import { ExploreSimpleSk } from '../explore-simple-sk/explore-simple-sk';
import { QueryConfig } from '../json';
+import { setUpExploreDemoEnv } from '../common/test-util';
-const status: Status = {
- email: 'user@google.com',
- roles: ['viewer', 'admin', 'editor', 'bisecter'],
-};
-
-fetchMock.get('/_/login/status', status);
-
-const paramSet = {
- arch: ['arm', 'arm64', 'x86_64'],
- bench_type: ['skandroidcodec'],
- compiler: ['Clang'],
- config: ['nonrendering'],
- configuration: ['OptimizeForSize'],
- cpu_or_gpu: ['CPU'],
- cpu_or_gpu_value: ['AVX2', 'AVX512', 'Snapdragon855', 'SnapdragonQM215'],
- extra_config: [
- 'Android',
- 'Android_Wuffs',
- 'ColorSpaces',
- 'Fast',
- 'SK_FORCE_RASTER_PIPELINE_BLITTER',
- 'Wuffs',
- ],
- model: ['GCE', 'JioNext', 'MacBookPro11.5', 'NUC9i7QN', 'Pixel4'],
- name: ['AndroidCodec_01_original.jpg_SampleSize2'],
- os: ['Android', 'Debian10', 'Debian11', 'Mac10.13', 'Win2019'],
- source_type: ['image'],
- sub_result: ['min_ms', 'min_ratio'],
-};
-
-fetchMock.get(/_\/initpage\/.*/, () => ({
- dataframe: {
- traceset: null,
- header: null,
- paramset: paramSet,
- skip: 0,
- },
- ticks: [],
- skps: [],
- msg: '',
-}));
-
-fetchMock.post('/_/count/', {
- count: 117, // Don't make the demo page non-deterministic.
- paramset: paramSet,
-});
-
-fetchMock.post('/_/frame/start', {
- status: 'Running',
- messages: [],
- url: '/_/status/d25fedcc-7e36-47e4-83d5-58ab76b2d3d1',
-});
-
-const defaultConfig: QueryConfig = {
- default_param_selections: null,
- default_url_values: null,
- include_params: null,
-};
-
-fetchMock.get('/_/defaults/', defaultConfig);
-
-const normalTracesResponse = {
- status: 'Finished',
- messages: [
- {
- key: 'Step',
- value: '1/1',
- },
- ],
- results: {
- dataframe: {
- traceset: {
- ',arch=arm,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=SnapdragonQM215,extra_config=Android,model=JioNext,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ms,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
- [
- 61.2075, 60.687603, 61.30078, 61.660313, 60.830208, 60.854946,
- 60.8525, 61.43297, 61.24557, 61.098125, 61.284843, 60.7938,
- 61.741615, 62.60328, 60.93729, 60.925156, 63.232346, 61.770676,
- 62.252968, 61.87958, 61.140102, 62.40708, 62.869167, 60.893852,
- 61.042187, 61.17974, 61.73057, 61.754063, 60.726772, 61.837135,
- 61.868282, 61.161095, 61.88469, 60.81271, 61.4625, 60.91443,
- 60.806095, 60.81344, 61.624477, 60.98828, 60.838856, 61.989845,
- 60.84349, 61.973698, 61.97073, 60.615208, 62.083595, 61.148228,
- 1e32, 1e32,
- ],
- ',arch=arm,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=SnapdragonQM215,extra_config=Android,model=JioNext,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ratio,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
- [
- 1.0053873, 1.0019164, 1.0029848, 1.002643, 1.0012664, 1.0028929,
- 1.0037411, 1.003003, 1.0050658, 1.007233, 1.0022581, 1.001872,
- 1.0027552, 1.0019709, 1.0021086, 1.0030998, 1.0080754, 1.0013162,
- 1.0025258, 1.0044054, 1.0017514, 1.0026898, 1.0032914, 1.0032947,
- 1.0027568, 1.0056816, 1.0076947, 1.0022088, 1.0029486, 1.0037018,
- 1.0043061, 1.0032768, 1.0015746, 1.0046197, 1.0041125, 1.0060117,
- 1.0032651, 1.0015031, 1.0050989, 1.0046166, 1.0052769, 1.0035608,
- 1.0040259, 1.002186, 1.0046998, 1.0016583, 1.0048993, 1.0062689,
- 1e32, 1e32,
- ],
- ',arch=arm64,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=Snapdragon855,extra_config=Android_Wuffs,model=Pixel4,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ms,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
- [
- 13.51672, 13.434168, 13.47146, 13.494012, 13.464116, 13.450209,
- 13.423439, 13.434011, 13.502189, 13.435418, 13.398959, 13.401876,
- 13.412658, 13.531095, 13.503022, 13.520366, 13.41073, 13.391043,
- 13.389377, 13.370262, 13.394116, 13.366512, 13.373126, 13.494376,
- 13.482189, 13.390887, 13.423231, 13.388387, 13.369949, 13.377084,
- 13.387605, 13.409533, 13.423283, 13.372189, 13.372918, 13.435366,
- 13.38495, 13.405939, 13.390105, 13.502606, 13.381928, 13.329532,
- 13.420783, 13.419793, 13.440002, 1e32, 13.488907, 1e32, 13.49323,
- 1e32,
- ],
- ',arch=arm64,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,cpu_or_gpu_value=Snapdragon855,extra_config=Android_Wuffs,model=Pixel4,name=AndroidCodec_01_original.jpg_SampleSize2,os=Android,source_type=image,sub_result=min_ratio,test=AndroidCodec_01_original.jpg_SampleSize2_640_480,':
- [
- 1.0060265, 1.0050516, 1.0032824, 1.0048633, 1.0030173, 1.0089877,
- 1.005564, 1.0143331, 1.0087292, 1.004551, 1.0055237, 1.0070225,
- 1.0050403, 1.0034873, 1.0055274, 1.0046265, 1.0032196, 1.0046984,
- 1.0029291, 1.0070547, 1.0091536, 1.007189, 1.0019591, 1.0073526,
- 1.0068724, 1.0070788, 1.0009079, 1.0057614, 1.0018076, 1.0048864,
- 1.0045946, 1.0053095, 1.0055135, 1.0083896, 1.007283, 1.009362,
- 1.0063659, 1.0073311, 1.0077171, 1.0068235, 1.0078387, 1.010589,
- 1.0133693, 1.001502, 1.0090255, 1e32, 1.0033516, 1e32, 1.0042962,
- 1e32,
- ],
- },
- header: [
- {
- offset: 67125,
- timestamp: 1687855198,
- },
- {
- offset: 67126,
- timestamp: 1687857789,
- },
- {
- offset: 67127,
- timestamp: 1687868015,
- },
- {
- offset: 67128,
- timestamp: 1687868368,
- },
- {
- offset: 67129,
- timestamp: 1687870256,
- },
- {
- offset: 67130,
- timestamp: 1687872763,
- },
- {
- offset: 67131,
- timestamp: 1687877748,
- },
- {
- offset: 67132,
- timestamp: 1687878083,
- },
- {
- offset: 67133,
- timestamp: 1687878588,
- },
- {
- offset: 67134,
- timestamp: 1687878658,
- },
- {
- offset: 67135,
- timestamp: 1687878976,
- },
- {
- offset: 67136,
- timestamp: 1687879230,
- },
- {
- offset: 67137,
- timestamp: 1687881375,
- },
- {
- offset: 67138,
- timestamp: 1687884748,
- },
- {
- offset: 67139,
- timestamp: 1687885047,
- },
- {
- offset: 67140,
- timestamp: 1687885507,
- },
- {
- offset: 67141,
- timestamp: 1687886132,
- },
- {
- offset: 67142,
- timestamp: 1687886787,
- },
- {
- offset: 67143,
- timestamp: 1687887013,
- },
- {
- offset: 67144,
- timestamp: 1687888513,
- },
- {
- offset: 67145,
- timestamp: 1687891891,
- },
- {
- offset: 67146,
- timestamp: 1687891925,
- },
- {
- offset: 67147,
- timestamp: 1687895229,
- },
- {
- offset: 67148,
- timestamp: 1687895693,
- },
- {
- offset: 67149,
- timestamp: 1687896092,
- },
- {
- offset: 67150,
- timestamp: 1687896114,
- },
- {
- offset: 67151,
- timestamp: 1687896459,
- },
- {
- offset: 67152,
- timestamp: 1687900291,
- },
- {
- offset: 67153,
- timestamp: 1687900389,
- },
- {
- offset: 67154,
- timestamp: 1687900992,
- },
- {
- offset: 67155,
- timestamp: 1687904682,
- },
- {
- offset: 67156,
- timestamp: 1687907669,
- },
- {
- offset: 67157,
- timestamp: 1687909158,
- },
- {
- offset: 67158,
- timestamp: 1687910749,
- },
- {
- offset: 67159,
- timestamp: 1687911636,
- },
- {
- offset: 67160,
- timestamp: 1687911698,
- },
- {
- offset: 67161,
- timestamp: 1687913983,
- },
- {
- offset: 67162,
- timestamp: 1687914369,
- },
- {
- offset: 67163,
- timestamp: 1687917173,
- },
- {
- offset: 67164,
- timestamp: 1687927827,
- },
- {
- offset: 67165,
- timestamp: 1687928532,
- },
- {
- offset: 67166,
- timestamp: 1687928754,
- },
- {
- offset: 67167,
- timestamp: 1687930648,
- },
- {
- offset: 67168,
- timestamp: 1687933565,
- },
- {
- offset: 67169,
- timestamp: 1687936673,
- },
- {
- offset: 67170,
- timestamp: 1687958245,
- },
- {
- offset: 67171,
- timestamp: 1687958371,
- },
- {
- offset: 67172,
- timestamp: 1687958912,
- },
- {
- offset: 67173,
- timestamp: 1687960354,
- },
- {
- offset: 67174,
- timestamp: 1687961972,
- },
- ],
- paramset: {
- arch: ['arm', 'arm64', 'x86_64'],
- bench_type: ['skandroidcodec'],
- compiler: ['Clang'],
- config: ['nonrendering'],
- configuration: ['OptimizeForSize'],
- cpu_or_gpu: ['CPU'],
- cpu_or_gpu_value: [
- 'AVX2',
- 'AVX512',
- 'Snapdragon855',
- 'SnapdragonQM215',
- ],
- extra_config: [
- 'Android',
- 'Android_Wuffs',
- 'ColorSpaces',
- 'Fast',
- 'SK_FORCE_RASTER_PIPELINE_BLITTER',
- 'Wuffs',
- ],
- model: ['GCE', 'JioNext', 'MacBookPro11.5', 'NUC9i7QN', 'Pixel4'],
- name: ['AndroidCodec_01_original.jpg_SampleSize2'],
- os: ['Android', 'Debian10', 'Debian11', 'Mac10.13', 'Win2019'],
- source_type: ['image'],
- sub_result: ['min_ms', 'min_ratio'],
- test: ['AndroidCodec_01_original.jpg_SampleSize2_640_480'],
- },
- skip: 0,
- },
- skps: [],
- msg: '',
- display_mode: 'display_plot',
- anomalymap: null,
- },
- url: '/_/status/d25fedcc-7e36-47e4-83d5-58ab76b2d3d1',
-};
-
-const calculationTraceSet = {
- 'avg(",arch=arm,bench_type=skandroidcodec,compiler=Clang,")': [
- 61.2075, 60.687603, 61.30078, 61.660313, 60.830208, 60.854946, 60.8525,
- 61.43297, 61.24557, 61.098125, 61.284843, 60.7938, 61.741615, 62.60328,
- 60.93729, 60.925156, 63.232346, 61.770676, 62.252968, 61.87958, 61.140102,
- 62.40708, 62.869167, 60.893852, 61.042187, 61.17974, 61.73057, 61.754063,
- 60.726772, 61.837135, 61.868282, 61.161095, 61.88469, 60.81271, 61.4625,
- 60.91443, 60.806095, 60.81344, 61.624477, 60.98828, 60.838856, 61.989845,
- 60.84349, 61.973698, 61.97073, 60.615208, 62.083595, 61.148228, 1e32, 1e32,
- ],
- 'avg(",arch=arm64,bench_type=skandroidcodec,compiler=Clang,config=nonrendering,cpu_or_gpu=CPU,")':
- [
- 1.0060265, 1.0050516, 1.0032824, 1.0048633, 1.0030173, 1.0089877,
- 1.005564, 1.0143331, 1.0087292, 1.004551, 1.0055237, 1.0070225, 1.0050403,
- 1.0034873, 1.0055274, 1.0046265, 1.0032196, 1.0046984, 1.0029291,
- 1.0070547, 1.0091536, 1.007189, 1.0019591, 1.0073526, 1.0068724,
- 1.0070788, 1.0009079, 1.0057614, 1.0018076, 1.0048864, 1.0045946,
- 1.0053095, 1.0055135, 1.0083896, 1.007283, 1.009362, 1.0063659, 1.0073311,
- 1.0077171, 1.0068235, 1.0078387, 1.010589, 1.0133693, 1.001502, 1.0090255,
- 1e32, 1.0033516, 1e32, 1.0042962, 1e32,
- ],
-};
-
-let returnCalculationsInResponse = false;
-
-const calculationResponse = JSON.parse(JSON.stringify(normalTracesResponse));
-
-calculationResponse.results.dataframe.traceset = calculationTraceSet;
-
-fetchMock.get('/_/status/d25fedcc-7e36-47e4-83d5-58ab76b2d3d1', () => {
- if (returnCalculationsInResponse) {
- return calculationResponse;
- }
- return normalTracesResponse;
-});
-
-fetchMock.post('/_/cid/', {
- commitSlice: [
- {
- offset: 67193,
- hash: '0d7087e5b99087f5945f04dbda7b7a7a4b12e344',
- ts: 1687990261,
- author: 'John Stiles (johnstiles@google.com)',
- message: 'Remove Win10 + ANGLE + IrisXe test and perf jobs.',
- url: 'https://skia.googlesource.com/skia/+show/0d7087e5b99087f5945f04dbda7b7a7a4b12e344',
- body: '',
- },
- {
- offset: 67194,
- hash: '2894e7194406ad8014d3e85b39379ca0e4607ead',
- ts: 1687991201,
- author: 'Arman Uguray (armansito@google.com)',
- message: 'Roll vello from ef2630ad to 12e764d5',
- url: 'https://skia.googlesource.com/skia/+show/2894e7194406ad8014d3e85b39379ca0e4607ead',
- body: '',
- },
- ],
- logEntry:
- 'commit 0d7087e5b99087f5945f04dbda7b7a7a4b12e344\nAuthor John Stiles (johnstiles@google.com)\nDate 28 Jun 23 22:11 +0000\n\nRemove Win10 + ANGLE + IrisXe test and perf jobs.\n\nOnce skia:14417 is resolved, we should reinstate these jobs.\n\nBug: skia:14417\nChange-Id: Ib6b2a06cf7983c998d1d4e95a5e4973377b3bd48\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/718157\nAuto-Submit: John Stiles \u003cjohnstiles@google.com\u003e\nCommit-Queue: Joe Gregorio \u003cjcgregorio@google.com\u003e\nCommit-Queue: John Stiles \u003cjohnstiles@google.com\u003e\nReviewed-by: Joe Gregorio \u003cjcgregorio@google.com\u003e\n',
-});
-
-fetchMock.post('/_/details/?results=false', {
- gitHash: 'e539c1a62d339f6509463a7e59d83141576e3722',
- key: {
- arch: 'arm',
- compiler: 'Clang',
- cpu_or_gpu: 'CPU',
- cpu_or_gpu_value: 'SnapdragonQM215',
- extra_config: 'Android',
- model: 'JioNext',
- os: 'Android',
- },
- swarming_bot_id: 'skia-rpi2-rack1-shelf1-026',
- swarming_task_id: '631c9c79d2c59211',
-});
+setUpExploreDemoEnv();
window.perf = {
commit_range_url: '',
@@ -510,7 +76,6 @@
});
$$('#demo-load-traces')?.addEventListener('click', () => {
- returnCalculationsInResponse = false;
window.perf.fetch_chrome_perf_anomalies = false;
// eslint-disable-next-line dot-notation
explore!['query']!.current_query = 'arch=arm';
@@ -518,7 +83,6 @@
});
$$('#demo-show-bisect-button')?.addEventListener('click', () => {
- returnCalculationsInResponse = false;
window.perf.fetch_chrome_perf_anomalies = true;
// eslint-disable-next-line dot-notation
explore!['query']!.current_query = 'arch=arm';
@@ -526,7 +90,6 @@
});
$$('#demo-select-trace')?.addEventListener('click', () => {
- returnCalculationsInResponse = false;
window.perf.fetch_chrome_perf_anomalies = true;
// First load the data.
@@ -539,8 +102,6 @@
});
$$('#demo-select-calc-trace')?.addEventListener('click', () => {
- returnCalculationsInResponse = true;
-
// First load data.
explore!['query']!.current_query = 'arch=arm';
explore!.add(true, 'query');
diff --git a/perf/modules/picker-field-sk/picker-field-sk-demo.html b/perf/modules/picker-field-sk/picker-field-sk-demo.html
index 41514b3..da143f1 100644
--- a/perf/modules/picker-field-sk/picker-field-sk-demo.html
+++ b/perf/modules/picker-field-sk/picker-field-sk-demo.html
@@ -21,5 +21,7 @@
<button id="demo-focus2">Focus 2nd box</button>
<button id="demo-fill">Autofill 2nd box</button>
<button id="demo-open">Open overlay of 2nd box</button>
+ <button id="demo-disable">Disable 2nd box</button>
+ <button id="demo-enable">Enable 2nd box</button>
</body>
</html>
diff --git a/perf/modules/picker-field-sk/picker-field-sk-demo.ts b/perf/modules/picker-field-sk/picker-field-sk-demo.ts
index 17b4d00..e0edc9c 100644
--- a/perf/modules/picker-field-sk/picker-field-sk-demo.ts
+++ b/perf/modules/picker-field-sk/picker-field-sk-demo.ts
@@ -31,3 +31,13 @@
const ele = document.querySelector('#focus-and-fill') as PickerFieldSk;
ele.openOverlay();
});
+
+$$('#demo-disable')?.addEventListener('click', () => {
+ const ele = document.querySelector('#focus-and-fill') as PickerFieldSk;
+ ele.disable();
+});
+
+$$('#demo-enable')?.addEventListener('click', () => {
+ const ele = document.querySelector('#focus-and-fill') as PickerFieldSk;
+ ele.enable();
+});
diff --git a/perf/modules/picker-field-sk/picker-field-sk.ts b/perf/modules/picker-field-sk/picker-field-sk.ts
index 0fe5333..b0778a4 100644
--- a/perf/modules/picker-field-sk/picker-field-sk.ts
+++ b/perf/modules/picker-field-sk/picker-field-sk.ts
@@ -69,6 +69,16 @@
this._render();
}
+ disable() {
+ this._comboBox!.setAttribute('readonly', '');
+ this._render();
+ }
+
+ enable() {
+ this._comboBox!.removeAttribute('readonly');
+ this._render();
+ }
+
clear() {
this.setValue('');
}
diff --git a/perf/modules/test-picker-sk/test-picker-sk.ts b/perf/modules/test-picker-sk/test-picker-sk.ts
index b7d733d..95f0942 100644
--- a/perf/modules/test-picker-sk/test-picker-sk.ts
+++ b/perf/modules/test-picker-sk/test-picker-sk.ts
@@ -208,6 +208,21 @@
}
/**
+ * Sets the readonly property for all rendered fields.
+ *
+ * @param readonly
+ */
+ private setReadOnly(readonly: boolean) {
+ this._fieldData.forEach((field) => {
+ if (readonly) {
+ field.field?.disable();
+ } else {
+ field.field?.enable();
+ }
+ });
+ }
+
+ /**
* Wrapper for POST Call to backend.
*
* @param handler
@@ -217,6 +232,7 @@
) {
this.updateCount(-1);
this._requestInProgress = true;
+ this.setReadOnly(true);
this._render();
const body: NextParamListHandlerRequest = {
@@ -233,10 +249,12 @@
.then(jsonOrThrow)
.then((json) => {
this._requestInProgress = false;
+ this.setReadOnly(false);
handler(json);
})
.catch((msg: any) => {
this._requestInProgress = false;
+ this.setReadOnly(false);
this._render();
errorMessage(msg);
});