A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Measurement | New Custom Metric Added? | Available in Previous Year? | Query | Link to Results Sheet | Comments | ||||||||||||||||||||
2 | How much JavaScript do we load? | |||||||||||||||||||||||||
3 | Requests per page | n | y | sql/2022/javascript/requests_2022.sql | requests_2022.sql | Requests grouped by percentile. Queries for 2021, 2020 and 2019 are also available | ||||||||||||||||||||
4 | Bytes per page | n | y | sql/2022/javascript/bytes_2022.sql | bytes_2022.sql | Bytes grouped by percentile. Queries for 2021, 2020 and 2019 are also available | ||||||||||||||||||||
5 | Unused scripts (or unused bytes per page) | n | y | sql/2022/javascript/unused_js_bytes_distribution.sql | unused_js_bytes_distribution.sql | Taken from Lighthouse audits. Unused JS bytes grouped by percentile. | ||||||||||||||||||||
6 | How is JavaScript processed? | |||||||||||||||||||||||||
7 | Bundlers | y | n | sql/2022/javascript/usage_of_webpack.sql sql/2022/javascript/usage_of_parcel.sql sql/2022/javascript/usage_of_webpack_by_rank.sql sql/2022/javascript/usage_of_parcel_by_rank.sql | usage_of_webpack.sql usage_of_parcel.sql usage_of_webpack_by_rank.sql usage_of_parcel_by_rank.sql | Webpack and Parcel are available in Wappalyzer, but esbuild and RollupJS are not. Prepared custom metric for Webpack and Parcel.https://github.com/HTTPArchive/custom-metrics/pull/40 | ||||||||||||||||||||
8 | Transpilers | y | n | sql/2022/javascript/usage_of_typescript_and_babel.sql sql/2022/javascript/usage_of_typescript_and_babel_by_rank.sql | usage_of_typescript_and_babel.sql usage_of_typescript_and_babel_by_rank.sql | https://httparchive.slack.com/archives/C02NSJST9K5/p1653598536287859 | ||||||||||||||||||||
9 | How is JavaScript requested | |||||||||||||||||||||||||
10 | async and defer | n | y | sql/2022/javascript/breakdown_of_pages_using_async_defer.sql sql/2022/javascript/breakdown_of_scripts_using_async_defer.sql | breakdown_of_pages_using_async_defer.sql breakdown_of_scripts_using_async_defer.sql | Percent and count of pages using async or defer | ||||||||||||||||||||
11 | module and nomodule | n | y | sql/2022/javascript/breakdown_of_pages_using_async_defer.sql sql/2022/javascript/breakdown_of_scripts_using_async_defer.sql | breakdown_of_pages_using_async_defer.sql breakdown_of_scripts_using_async_defer.sql | Percent and count of pages using module or nomodule | ||||||||||||||||||||
12 | preload, prefetch and modulepreload | n | n | sql/2022/javascript/resource-hints-prefetch-preload-percentage.sql sql/2022/javascript/resource-hints-preload-prefetch-distribution.sql | resource_hints.sql resource_hints_per_page.sql resource-hints-prefetch-preload-percentage.sql resource-hints-preload-prefetch-distribution.sql | Distribution, percent and count of pages using preload or prefetch. Need to add modulepreload | ||||||||||||||||||||
13 | JavaScript in the <head> (render blocking JavaScript (excluding inline)) | n | n | sql/2022/javascript/render_blocking_javascript.sql sql/2022/javascript/render_blocking_javascript_by_rank.sql | render_blocking_javascript.sql render_blocking_javascript_by_rank.sql | Available in HAR as _renderBlocking: "blocking" | ||||||||||||||||||||
14 | Injected scripts | y | n | sql/2022/javascript/injected_scripts.sql sql/2022/javascript/distribution_of_injected_scripts.sql | injected_scripts.sql distribution_of_injected_scripts.sql | Custom metric: https://github.com/HTTPArchive/custom-metrics/pull/42 | ||||||||||||||||||||
15 | First-party vs third-party: Requests per page | n | y | sql/2022/javascript/requests_by_3p.sql | requests_by_3p.sql | Distribution of 1P/3P JS requests grouped by percentile and host. | ||||||||||||||||||||
16 | First-party vs third-party: Bytes per page | n | y | sql/2022/javascript/bytes_by_3p.sql | bytes_by_3p.sql | Distribution of 1P/3P JS bytes grouped by percentile and host. | ||||||||||||||||||||
17 | dns-prefetch | n | n | sql/2022/javascript/percent_of_dns_prefetch.sql sql/2022/javascript/percent_of_dns_prefetch_by_host.sql | percent_of_dns_prefetch.sql percent_of_dns_prefetch_by_host.sql | |||||||||||||||||||||
18 | preconnect | n | n | sql/2022/javascript/percent_of_preconnect.sql sql/2022/javascript/percent_of_preconnect_by_host.sql | percent_of_preconnect.sql percent_of_preconnect_by_host.sql | |||||||||||||||||||||
19 | Dynamic import | n | n | sql/2022/javascript/dynamic_import.sql | dynamic_import.sql | New metric added from Blink use counters | ||||||||||||||||||||
20 | Web workers | y | n | sql/2022/javascript/web_workers.sql | web_workers.sql | Dependent on observers.js https://github.com/HTTPArchive/custom-metrics/pull/31 Implemented alternative using blink usage counters. | ||||||||||||||||||||
21 | PaintWorklet | n | n | sql/2022/javascript/worklets.sql | worklets.sql | New metric added from Blink use counters | ||||||||||||||||||||
22 | AudioWorklet | n | n | sql/2022/javascript/worklets.sql | worklets.sql | New metric added from Blink use counters | ||||||||||||||||||||
23 | How is JavaScript delivered? | |||||||||||||||||||||||||
24 | Compression | n | y | sql/2022/javascript/compression_method.sql sql/2022/javascript/compression_none_by_bytes.sql sql/2022/javascript/compression_method_by_3p.sql | compression_method.sql compression_none_by_bytes.sql compression_method_by_3p.sql | |||||||||||||||||||||
25 | Minification | n | y | sql/2022/javascript/lighthouse_unminified_js.sql sql/2022/javascript/lighthouse_unminified_js_bytes.sql sql/2022/javascript/lighthouse_unminified_js_by_3p.sql | lighthouse_unminified_js.sql lighthouse_unminified_js_bytes.sql lighthouse_unminified_js_by_3p.sql | |||||||||||||||||||||
26 | Source maps | y | y | sql/2022/javascript/sourcemaps.sql sql/2022/javascript/sourcemap_header.sql sql/2022/javascript/sourcemap_header_by_3p.sql | sourcemaps.sql sourcemap_header.sql sourcemap_header_by_3p.sql | Current query only checks for SourceMap header. Custom metric: https://github.com/HTTPArchive/custom-metrics/pull/41 | ||||||||||||||||||||
27 | Responsiveness | |||||||||||||||||||||||||
28 | Metrics: TTI | n | n | sql/2022/javascript/time_to_interactive.sql | time_to_interactive.sql | Is available in Lighthouse audits | ||||||||||||||||||||
29 | Metrics: TBT | n | n | sql/2022/javascript/tbt.sql | tbt.sql | TBT grouped by percentiles. | ||||||||||||||||||||
30 | Metrics: FID | n | n | sql/2022/javascript/fid.sql | fid.sql | Available in CrUX dataset. FID grouped by percentiles. | ||||||||||||||||||||
31 | Metrics: INP | n | n | sql/2022/javascript/inp.sql | inp.sql | Available in CrUX dataset. INP grouped by percentiles. | ||||||||||||||||||||
32 | Number of long tasks | n | n | sql/2022/javascript/distribution_of_number_of_long_tasks.sql | distribution_of_number_of_long_tasks.sql | Available in HAR. | ||||||||||||||||||||
33 | Total long tasks | n | n | sql/2022/javascript/distribution_of_long_tasks_time.sql | distribution_of_long_tasks_time.sql | Available in HAR. | ||||||||||||||||||||
34 | requestIdleCallback | y | n | WON'T BE DONE. Dependent on observers.js https://github.com/HTTPArchive/custom-metrics/pull/38 | ||||||||||||||||||||||
35 | queueMicrotask | y | n | WON'T BE DONE. Dependent on observers.js https://github.com/HTTPArchive/custom-metrics/pull/38 | ||||||||||||||||||||||
36 | postTask API | n | n | sql/2022/javascript/posttask_scheduler.sql | posttask_scheduler.sql | https://chromestatus.com/metrics/feature/timeline/popularity/3145 | ||||||||||||||||||||
37 | Synchronous AJAX | n | y | sql/2022/javascript/sync_requests.sql | sync_requests.sql | New metric added from Blink use counters | ||||||||||||||||||||
38 | How is JavaScript used? | |||||||||||||||||||||||||
39 | Libraries and frameworks: Library usage | n | y | sql/2022/javascript/frameworks_libraries.sql sql/2022/javascript/frameworks_libraries_by_version.sql sql/2022/javascript/frameworks-bytes-by-framework.sql | frameworks_libraries.sql frameworks_libraries_by_version.sql frameworks-bytes-by-framework.sql | |||||||||||||||||||||
40 | Libraries and frameworks: Libraries used together | n | y | sql/2022/javascript/frameworks_libraries_combos.sql | frameworks_libraries_combos.sql | |||||||||||||||||||||
41 | Libraries and frameworks: Security Vulnerabilities | n | y | sql/2022/javascript/lighthouse_vulnerabilities.sql sql/2022/javascript/lighthouse_vulnerable_libraries.sql | lighthouse_vulnerabilities.sql lighthouse_vulnerable_libraries.sql | |||||||||||||||||||||
42 | Web components and shadow DOM | n | y | sql/2022/javascript/web_components_pct.sql sql/2022/javascript/web_components_specs.sql | web_components_pct.sql web_components_specs.sql | Percentage of pages using custom elements, shadow root or templates. | ||||||||||||||||||||
43 | document.write | n | n | sql/2022/javascript/usage_of_document_write.sql | usage_of_document_write.sql | https://github.com/GoogleChrome/lighthouse/blob/master/lighthouse-core/audits/dobetterweb/no-document-write.js | ||||||||||||||||||||
44 | legacy javascript | n | sql/2022/javascript/usage_of_legacy_javascript.sql | usage_of_legacy_javascript.sql | Taken from Lighthouse audit | |||||||||||||||||||||
45 | Web components and shadow DOM: is attribute | n | n | sql/2022/javascript/web_components_is_attribute.sql | web_components_is_attribute.sql | |||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |