browsertime 17.3.0 → 17.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Browsertime changelog (we do [semantic versioning](https://semver.org))
|
|
2
2
|
|
|
3
|
+
## 17.4.0 - 2022-03-29
|
|
4
|
+
### Added
|
|
5
|
+
* Log the CPU benchmark metric to the console. This is useful (at least for me) when debugging instances with a lot of instability. [#1920](https://github.com/sitespeedio/browsertime/pull/1920).
|
|
6
|
+
* In Chrome 111 some metrics become more instable when running on host with limited CPU. This change also exists in 112 beta. However we where missing out on a couple of command line magic to disable features in Chrome, this fixes that [#1921](https://github.com/sitespeedio/browsertime/pull/1921).
|
|
7
|
+
|
|
3
8
|
## 17.3.0 - 2022-03-26
|
|
4
9
|
|
|
5
10
|
### Fixed
|
|
@@ -7,6 +12,8 @@
|
|
|
7
12
|
|
|
8
13
|
### Added
|
|
9
14
|
* On Linux you can use taskset to assing FFMPEG to specific CPUs using `--videoParams.taskset "0,5,7,9-11" `. It will start FFMPEG with `taskset -c <CPUS>` to pin FFMPG to specific CPU(s). Specify a numerical list of processors. The list may contain multiple items, separated by comma, and ranges. For example, "0,5,7,9-11". Use it together with isolcpus. Added in [#1917](https://github.com/sitespeedio/browsertime/pull/1917).
|
|
15
|
+
|
|
16
|
+
* If you use a rooted Samsung A51 you can now choose the CPU speed (min/middle/max) using `--android.pinCPUSpeed min|middle|max` [#1915](https://github.com/sitespeedio/browsertime/pull/1915).
|
|
10
17
|
## 17.2.1 - 2022-03-16
|
|
11
18
|
### Fixed
|
|
12
19
|
* Bumped Geckodriver to 0.32.2 and Edgedriver to 111.
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
// See https://github.com/GoogleChrome/chrome-launcher/blob/
|
|
1
|
+
// See https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md
|
|
2
2
|
// https://peter.sh/experiments/chromium-command-line-switches/
|
|
3
3
|
export const chromeDesktopOptions = [
|
|
4
|
-
'--disable-background-networking',
|
|
5
|
-
'--no-default-browser-check',
|
|
6
|
-
'--no-first-run',
|
|
7
|
-
'--new-window',
|
|
8
4
|
'--allow-running-insecure-content',
|
|
5
|
+
'--disable-background-networking',
|
|
6
|
+
'--disable-background-timer-throttling',
|
|
7
|
+
'--disable-backgrounding-occluded-windows',
|
|
8
|
+
'--disable-breakpad',
|
|
9
9
|
'--disable-client-side-phishing-detection',
|
|
10
10
|
'--disable-component-update',
|
|
11
11
|
'--disable-default-apps',
|
|
12
|
-
'--disable-
|
|
12
|
+
'--disable-dev-shm-usage',
|
|
13
13
|
'--disable-domain-reliability',
|
|
14
|
-
'--disable-
|
|
15
|
-
'--load-media-router-component-extension=0',
|
|
16
|
-
'--mute-audio',
|
|
14
|
+
'--disable-fetching-hints-at-navigation-start',
|
|
17
15
|
'--disable-hang-monitor',
|
|
16
|
+
'--disable-ipc-flooding-protection',
|
|
17
|
+
'--disable-prompt-on-repost',
|
|
18
|
+
'--disable-renderer-backgrounding',
|
|
19
|
+
'--disable-site-isolation-trials',
|
|
20
|
+
'--disable-sync',
|
|
21
|
+
'--metrics-recording-only',
|
|
22
|
+
'--mute-audio',
|
|
23
|
+
'--new-window',
|
|
24
|
+
'--no-default-browser-check',
|
|
25
|
+
'--no-first-run',
|
|
18
26
|
'--password-store=basic',
|
|
19
|
-
'--
|
|
20
|
-
'--dont-require-litepage-redirect-infobar',
|
|
21
|
-
'--override-https-image-compression-infobar',
|
|
22
|
-
'--disable-fetching-hints-at-navigation-start',
|
|
23
|
-
'--disable-dev-shm-usage',
|
|
24
|
-
'--disable-back-forward-cache',
|
|
25
|
-
'--disable-site-isolation-trials'
|
|
27
|
+
'--use-mock-keychain'
|
|
26
28
|
];
|
|
@@ -19,6 +19,17 @@ const CHROME_AMD_EDGE_INTERNAL_PHONE_HOME = [
|
|
|
19
19
|
'"MAP optimizationguide-pa.googleapis.com 127.0.0.1"'
|
|
20
20
|
];
|
|
21
21
|
|
|
22
|
+
const CHROME_FEATURES_THAT_WE_DISABLES = [
|
|
23
|
+
'AutofillServerCommunication',
|
|
24
|
+
'CalculateNativeWinOcclusion',
|
|
25
|
+
'HeavyAdPrivacyMitigations',
|
|
26
|
+
'InterestFeedContentSuggestions',
|
|
27
|
+
'MediaRouter',
|
|
28
|
+
'OfflinePagesPrefetching',
|
|
29
|
+
'OptimizationHints',
|
|
30
|
+
'Translate'
|
|
31
|
+
];
|
|
32
|
+
|
|
22
33
|
export function setupChromiumOptions(
|
|
23
34
|
seleniumOptions,
|
|
24
35
|
browserOptions,
|
|
@@ -49,6 +60,10 @@ export function setupChromiumOptions(
|
|
|
49
60
|
seleniumOptions.addArguments('--disable-gpu');
|
|
50
61
|
}
|
|
51
62
|
|
|
63
|
+
seleniumOptions.addArguments(
|
|
64
|
+
'--disable-features=' + CHROME_FEATURES_THAT_WE_DISABLES.join(',')
|
|
65
|
+
);
|
|
66
|
+
|
|
52
67
|
const viewPort = getViewPort(options);
|
|
53
68
|
// If viewport is defined (only on desktop) then set start args
|
|
54
69
|
if (viewPort) {
|
package/lib/support/util.js
CHANGED
|
@@ -38,6 +38,7 @@ export function logResultLogLine(results) {
|
|
|
38
38
|
fcp = '',
|
|
39
39
|
cls = '',
|
|
40
40
|
tbt = '',
|
|
41
|
+
cpuBenchmark = '',
|
|
41
42
|
nRuns = result.browserScripts.length,
|
|
42
43
|
m = nRuns > 1;
|
|
43
44
|
if (results.har && results.har.log.pages[index]) {
|
|
@@ -59,6 +60,16 @@ export function logResultLogLine(results) {
|
|
|
59
60
|
: totalSize + ' bytes';
|
|
60
61
|
}
|
|
61
62
|
|
|
63
|
+
if (result.statistics.browser && result.statistics.browser.cpuBenchmark) {
|
|
64
|
+
cpuBenchmark = formatMetric(
|
|
65
|
+
'CPUBenchmark',
|
|
66
|
+
result.statistics.browser.cpuBenchmark,
|
|
67
|
+
true,
|
|
68
|
+
true,
|
|
69
|
+
m
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
62
73
|
if (result.statistics.timings && result.statistics.timings.pageTimings) {
|
|
63
74
|
let pt = result.statistics.timings.pageTimings,
|
|
64
75
|
t = result.statistics.timings,
|
|
@@ -178,6 +189,7 @@ export function logResultLogLine(results) {
|
|
|
178
189
|
lcp,
|
|
179
190
|
cls,
|
|
180
191
|
tbt,
|
|
192
|
+
cpuBenchmark,
|
|
181
193
|
pageLoad,
|
|
182
194
|
memory,
|
|
183
195
|
speedIndex,
|