-
-
Notifications
You must be signed in to change notification settings - Fork 183
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Query metrics: Chapter 1. JavaScript #82
Comments
👋 Hey @mathiasbynens, for the "Breakdown of V8 CPU times" metric, which metrics in particular would you like to analyze? For reference, here's a JSON blob of all of the data we have. And here's a list of metrics prefixed with cpu and v8 that you might find interesting. There are lots of them. |
Those metrics are highly fine-grained. For this report, it'd make sense to combine them into higher-level buckets. I'd propose the following:
|
If the above is too much hassle, we could just add up everything under "main thread". (Background work is not interesting, as it doesn't delay page load.) |
Thanks @mathiasbynens. I've saved the results of the cumulative main thread time query to this sheet. Let me know if those numbers look reasonable to you or if you'd like to see the results formatted differently (histogram, quantiles, etc).
Here's the underlying query: #standardSQL
# 01_07: Cumulative V8 main thread time
CREATE TEMPORARY FUNCTION totalMainThreadTime(payload STRING)
RETURNS FLOAT64 LANGUAGE js AS '''
try {
var $ = JSON.parse(payload);
return Object.values($._v8Stats.main_thread).reduce((sum, i) => sum + i, 0);
} catch (e) {
return null;
}
''';
SELECT
client,
ROUND(APPROX_QUANTILES(v8_time, 1000)[OFFSET(100)], 3) AS p10,
ROUND(APPROX_QUANTILES(v8_time, 1000)[OFFSET(250)], 3) AS p25,
ROUND(APPROX_QUANTILES(v8_time, 1000)[OFFSET(500)], 3) AS p50,
ROUND(APPROX_QUANTILES(v8_time, 1000)[OFFSET(750)], 3) AS p75,
ROUND(APPROX_QUANTILES(v8_time, 1000)[OFFSET(900)], 3) AS p90
FROM (
SELECT _TABLE_SUFFIX AS client, totalMainThreadTime(payload) AS v8_time FROM `httparchive.pages.2019_07_01_*`)
GROUP BY
client |
READ ME!
All of the metrics in the table below have been marked as
Able To Query
during the metrics triage. The analyst assigned to each metric is expected to write the corresponding query and submit a PR to have it reviewed and added to the repo.In order to stay on schedule and have the data ready for authors, please have all metrics reviewed and merged by August 5.
Assignments
<script type=module>
<script nomodule>
<link rel=preload>
for JS resources<link rel=modulepreload>
<link rel=prefetch>
for JS resourcesChecklist of metrics to be merged
<script type=module>
<script nomodule>
<link rel=preload>
for JS resources<link rel=modulepreload>
<link rel=prefetch>
for JS resourcesThe text was updated successfully, but these errors were encountered: