Last active
June 12, 2017 19:16
-
-
Save rviscomi/a7ca24ded7a995d16a987073ad61724b to your computer and use it in GitHub Desktop.
Generates a query to use with BigQuery that gets the 25/50/75 percentiles of a metric over all desktop/mobile pages tables.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| /* Generated by: | |
| SELECT | |
| SUBSTR(CONCAT('20', _TABLE_SUFFIX), 0, 10) AS date, | |
| CASE | |
| WHEN ENDS_WITH(_TABLE_SUFFIX, 'mobile') THEN 'mobile' | |
| ELSE 'desktop' | |
| END AS client | |
| FROM | |
| `httparchive.runs.20*` | |
| WHERE | |
| ENDS_WITH(_TABLE_SUFFIX, '_pages') | |
| OR ENDS_WITH(_TABLE_SUFFIX, '_pages_mobile') | |
| GROUP BY | |
| 1, | |
| 2 | |
| ORDER BY | |
| 1 DESC, | |
| 2 | |
| */ | |
| var pages = [{"date":"2017_05_15","client":"desktop"}, | |
| {"date":"2017_05_15","client":"mobile"}, | |
| {"date":"2017_05_01","client":"desktop"}, | |
| {"date":"2017_05_01","client":"mobile"}, | |
| {"date":"2017_04_15","client":"desktop"}, | |
| {"date":"2017_04_15","client":"mobile"}, | |
| {"date":"2017_04_01","client":"desktop"}, | |
| {"date":"2017_04_01","client":"mobile"}, | |
| {"date":"2017_03_15","client":"desktop"}, | |
| {"date":"2017_03_15","client":"mobile"}, | |
| {"date":"2017_03_01","client":"desktop"}, | |
| {"date":"2017_03_01","client":"mobile"}, | |
| {"date":"2017_02_15","client":"desktop"}, | |
| {"date":"2017_02_15","client":"mobile"}, | |
| {"date":"2017_02_01","client":"desktop"}, | |
| {"date":"2017_02_01","client":"mobile"}, | |
| {"date":"2017_01_15","client":"desktop"}, | |
| {"date":"2017_01_15","client":"mobile"}, | |
| {"date":"2017_01_01","client":"desktop"}, | |
| {"date":"2017_01_01","client":"mobile"}, | |
| {"date":"2016_12_15","client":"desktop"}, | |
| {"date":"2016_12_15","client":"mobile"}, | |
| {"date":"2016_11_15","client":"desktop"}, | |
| {"date":"2016_11_15","client":"mobile"}, | |
| {"date":"2016_11_01","client":"desktop"}, | |
| {"date":"2016_11_01","client":"mobile"}, | |
| {"date":"2016_10_15","client":"desktop"}, | |
| {"date":"2016_10_15","client":"mobile"}, | |
| {"date":"2016_10_01","client":"desktop"}, | |
| {"date":"2016_10_01","client":"mobile"}, | |
| {"date":"2016_09_15","client":"desktop"}, | |
| {"date":"2016_09_15","client":"mobile"}, | |
| {"date":"2016_09_01","client":"desktop"}, | |
| {"date":"2016_09_01","client":"mobile"}, | |
| {"date":"2016_08_15","client":"desktop"}, | |
| {"date":"2016_08_15","client":"mobile"}, | |
| {"date":"2016_08_01","client":"desktop"}, | |
| {"date":"2016_08_01","client":"mobile"}, | |
| {"date":"2016_07_15","client":"desktop"}, | |
| {"date":"2016_07_15","client":"mobile"}, | |
| {"date":"2016_07_01","client":"desktop"}, | |
| {"date":"2016_07_01","client":"mobile"}, | |
| {"date":"2016_06_15","client":"desktop"}, | |
| {"date":"2016_06_15","client":"mobile"}, | |
| {"date":"2016_06_01","client":"desktop"}, | |
| {"date":"2016_06_01","client":"mobile"}, | |
| {"date":"2016_05_15","client":"desktop"}, | |
| {"date":"2016_05_15","client":"mobile"}, | |
| {"date":"2016_05_01","client":"desktop"}, | |
| {"date":"2016_05_01","client":"mobile"}, | |
| {"date":"2016_04_15","client":"desktop"}, | |
| {"date":"2016_04_15","client":"mobile"}, | |
| {"date":"2016_04_01","client":"desktop"}, | |
| {"date":"2016_04_01","client":"mobile"}, | |
| {"date":"2016_03_15","client":"desktop"}, | |
| {"date":"2016_03_01","client":"desktop"}, | |
| {"date":"2016_03_01","client":"mobile"}, | |
| {"date":"2016_02_15","client":"desktop"}, | |
| {"date":"2016_02_15","client":"mobile"}, | |
| {"date":"2016_02_01","client":"desktop"}, | |
| {"date":"2016_02_01","client":"mobile"}, | |
| {"date":"2016_01_15","client":"desktop"}, | |
| {"date":"2016_01_15","client":"mobile"}, | |
| {"date":"2016_01_01","client":"desktop"}, | |
| {"date":"2016_01_01","client":"mobile"}, | |
| {"date":"2015_12_15","client":"desktop"}, | |
| {"date":"2015_12_15","client":"mobile"}, | |
| {"date":"2015_12_01","client":"desktop"}, | |
| {"date":"2015_12_01","client":"mobile"}, | |
| {"date":"2015_11_15","client":"desktop"}, | |
| {"date":"2015_11_15","client":"mobile"}, | |
| {"date":"2015_11_01","client":"desktop"}, | |
| {"date":"2015_11_01","client":"mobile"}, | |
| {"date":"2015_10_15","client":"desktop"}, | |
| {"date":"2015_10_15","client":"mobile"}, | |
| {"date":"2015_10_01","client":"desktop"}, | |
| {"date":"2015_10_01","client":"mobile"}, | |
| {"date":"2015_09_15","client":"desktop"}, | |
| {"date":"2015_09_15","client":"mobile"}, | |
| {"date":"2015_09_01","client":"desktop"}, | |
| {"date":"2015_09_01","client":"mobile"}, | |
| {"date":"2015_08_15","client":"desktop"}, | |
| {"date":"2015_08_15","client":"mobile"}, | |
| {"date":"2015_08_01","client":"desktop"}, | |
| {"date":"2015_08_01","client":"mobile"}, | |
| {"date":"2015_07_15","client":"desktop"}, | |
| {"date":"2015_07_15","client":"mobile"}, | |
| {"date":"2015_07_01","client":"desktop"}, | |
| {"date":"2015_07_01","client":"mobile"}, | |
| {"date":"2015_06_15","client":"desktop"}, | |
| {"date":"2015_06_15","client":"mobile"}, | |
| {"date":"2015_06_01","client":"desktop"}, | |
| {"date":"2015_06_01","client":"mobile"}, | |
| {"date":"2015_05_15","client":"desktop"}, | |
| {"date":"2015_05_15","client":"mobile"}, | |
| {"date":"2015_05_01","client":"desktop"}, | |
| {"date":"2015_05_01","client":"mobile"}, | |
| {"date":"2015_04_15","client":"desktop"}, | |
| {"date":"2015_04_15","client":"mobile"}, | |
| {"date":"2015_04_01","client":"desktop"}, | |
| {"date":"2015_04_01","client":"mobile"}, | |
| {"date":"2015_03_15","client":"desktop"}, | |
| {"date":"2015_03_15","client":"mobile"}, | |
| {"date":"2015_03_01","client":"desktop"}, | |
| {"date":"2015_03_01","client":"mobile"}, | |
| {"date":"2015_02_15","client":"desktop"}, | |
| {"date":"2015_02_15","client":"mobile"}, | |
| {"date":"2015_02_01","client":"desktop"}, | |
| {"date":"2015_02_01","client":"mobile"}, | |
| {"date":"2015_01_15","client":"desktop"}, | |
| {"date":"2015_01_15","client":"mobile"}, | |
| {"date":"2015_01_01","client":"desktop"}, | |
| {"date":"2015_01_01","client":"mobile"}, | |
| {"date":"2014_12_15","client":"desktop"}, | |
| {"date":"2014_12_15","client":"mobile"}, | |
| {"date":"2014_12_01","client":"desktop"}, | |
| {"date":"2014_12_01","client":"mobile"}, | |
| {"date":"2014_11_15","client":"desktop"}, | |
| {"date":"2014_11_15","client":"mobile"}, | |
| {"date":"2014_11_01","client":"desktop"}, | |
| {"date":"2014_11_01","client":"mobile"}, | |
| {"date":"2014_10_15","client":"desktop"}, | |
| {"date":"2014_10_15","client":"mobile"}, | |
| {"date":"2014_10_01","client":"desktop"}, | |
| {"date":"2014_10_01","client":"mobile"}, | |
| {"date":"2014_09_15","client":"desktop"}, | |
| {"date":"2014_09_15","client":"mobile"}, | |
| {"date":"2014_09_01","client":"desktop"}, | |
| {"date":"2014_09_01","client":"mobile"}, | |
| {"date":"2014_08_15","client":"desktop"}, | |
| {"date":"2014_08_15","client":"mobile"}, | |
| {"date":"2014_08_01","client":"desktop"}, | |
| {"date":"2014_08_01","client":"mobile"}, | |
| {"date":"2014_07_15","client":"desktop"}, | |
| {"date":"2014_07_15","client":"mobile"}, | |
| {"date":"2014_07_01","client":"desktop"}, | |
| {"date":"2014_07_01","client":"mobile"}, | |
| {"date":"2014_06_15","client":"desktop"}, | |
| {"date":"2014_06_01","client":"desktop"}, | |
| {"date":"2014_06_01","client":"mobile"}, | |
| {"date":"2014_05_15","client":"desktop"}, | |
| {"date":"2014_05_15","client":"mobile"}, | |
| {"date":"2014_05_01","client":"desktop"}, | |
| {"date":"2014_05_01","client":"mobile"}, | |
| {"date":"2014_04_15","client":"desktop"}, | |
| {"date":"2014_04_15","client":"mobile"}, | |
| {"date":"2014_04_01","client":"desktop"}, | |
| {"date":"2014_04_01","client":"mobile"}, | |
| {"date":"2014_03_15","client":"desktop"}, | |
| {"date":"2014_03_15","client":"mobile"}, | |
| {"date":"2014_03_01","client":"desktop"}, | |
| {"date":"2014_03_01","client":"mobile"}, | |
| {"date":"2014_02_15","client":"desktop"}, | |
| {"date":"2014_02_15","client":"mobile"}, | |
| {"date":"2014_02_01","client":"desktop"}, | |
| {"date":"2014_02_01","client":"mobile"}, | |
| {"date":"2014_01_15","client":"desktop"}, | |
| {"date":"2014_01_15","client":"mobile"}, | |
| {"date":"2014_01_01","client":"desktop"}, | |
| {"date":"2014_01_01","client":"mobile"}, | |
| {"date":"2013_12_15","client":"desktop"}, | |
| {"date":"2013_12_15","client":"mobile"}, | |
| {"date":"2013_11_15","client":"desktop"}, | |
| {"date":"2013_11_15","client":"mobile"}, | |
| {"date":"2013_11_01","client":"desktop"}, | |
| {"date":"2013_11_01","client":"mobile"}, | |
| {"date":"2013_10_15","client":"desktop"}, | |
| {"date":"2013_10_15","client":"mobile"}, | |
| {"date":"2013_10_01","client":"desktop"}, | |
| {"date":"2013_10_01","client":"mobile"}, | |
| {"date":"2013_09_15","client":"desktop"}, | |
| {"date":"2013_09_15","client":"mobile"}, | |
| {"date":"2013_09_01","client":"desktop"}, | |
| {"date":"2013_09_01","client":"mobile"}, | |
| {"date":"2013_08_15","client":"desktop"}, | |
| {"date":"2013_08_15","client":"mobile"}, | |
| {"date":"2013_08_01","client":"desktop"}, | |
| {"date":"2013_08_01","client":"mobile"}, | |
| {"date":"2013_07_01","client":"desktop"}, | |
| {"date":"2013_07_01","client":"mobile"}, | |
| {"date":"2013_06_15","client":"desktop"}, | |
| {"date":"2013_06_15","client":"mobile"}, | |
| {"date":"2013_06_01","client":"desktop"}, | |
| {"date":"2013_06_01","client":"mobile"}, | |
| {"date":"2013_05_15","client":"desktop"}, | |
| {"date":"2013_05_15","client":"mobile"}, | |
| {"date":"2013_05_01","client":"desktop"}, | |
| {"date":"2013_05_01","client":"mobile"}, | |
| {"date":"2013_04_15","client":"desktop"}, | |
| {"date":"2013_04_15","client":"mobile"}, | |
| {"date":"2013_04_01","client":"desktop"}, | |
| {"date":"2013_04_01","client":"mobile"}, | |
| {"date":"2013_03_15","client":"desktop"}, | |
| {"date":"2013_03_15","client":"mobile"}, | |
| {"date":"2013_03_01","client":"desktop"}, | |
| {"date":"2013_03_01","client":"mobile"}, | |
| {"date":"2013_02_15","client":"desktop"}, | |
| {"date":"2013_02_15","client":"mobile"}, | |
| {"date":"2013_02_01","client":"desktop"}, | |
| {"date":"2013_02_01","client":"mobile"}, | |
| {"date":"2013_01_15","client":"desktop"}, | |
| {"date":"2013_01_15","client":"mobile"}, | |
| {"date":"2013_01_01","client":"desktop"}, | |
| {"date":"2013_01_01","client":"mobile"}, | |
| {"date":"2012_12_15","client":"desktop"}, | |
| {"date":"2012_12_15","client":"mobile"}, | |
| {"date":"2012_12_01","client":"desktop"}, | |
| {"date":"2012_12_01","client":"mobile"}, | |
| {"date":"2012_11_15","client":"desktop"}, | |
| {"date":"2012_11_15","client":"mobile"}, | |
| {"date":"2012_11_01","client":"desktop"}, | |
| {"date":"2012_11_01","client":"mobile"}, | |
| {"date":"2012_10_15","client":"desktop"}, | |
| {"date":"2012_10_15","client":"mobile"}, | |
| {"date":"2012_10_01","client":"desktop"}, | |
| {"date":"2012_10_01","client":"mobile"}, | |
| {"date":"2012_09_15","client":"desktop"}, | |
| {"date":"2012_09_15","client":"mobile"}, | |
| {"date":"2012_09_01","client":"desktop"}, | |
| {"date":"2012_09_01","client":"mobile"}, | |
| {"date":"2012_08_15","client":"desktop"}, | |
| {"date":"2012_08_15","client":"mobile"}, | |
| {"date":"2012_08_01","client":"desktop"}, | |
| {"date":"2012_08_01","client":"mobile"}, | |
| {"date":"2012_07_15","client":"desktop"}, | |
| {"date":"2012_07_15","client":"mobile"}, | |
| {"date":"2012_07_01","client":"desktop"}, | |
| {"date":"2012_07_01","client":"mobile"}, | |
| {"date":"2012_06_15","client":"desktop"}, | |
| {"date":"2012_06_15","client":"mobile"}, | |
| {"date":"2012_06_01","client":"desktop"}, | |
| {"date":"2012_06_01","client":"mobile"}, | |
| {"date":"2012_05_15","client":"desktop"}, | |
| {"date":"2012_05_15","client":"mobile"}, | |
| {"date":"2012_05_01","client":"desktop"}, | |
| {"date":"2012_05_01","client":"mobile"}, | |
| {"date":"2012_04_15","client":"desktop"}, | |
| {"date":"2012_04_15","client":"mobile"}, | |
| {"date":"2012_04_01","client":"desktop"}, | |
| {"date":"2012_04_01","client":"mobile"}, | |
| {"date":"2012_03_15","client":"desktop"}, | |
| {"date":"2012_03_15","client":"mobile"}, | |
| {"date":"2012_03_01","client":"desktop"}, | |
| {"date":"2012_03_01","client":"mobile"}, | |
| {"date":"2012_02_15","client":"desktop"}, | |
| {"date":"2012_02_15","client":"mobile"}, | |
| {"date":"2012_02_01","client":"desktop"}, | |
| {"date":"2012_02_01","client":"mobile"}, | |
| {"date":"2012_01_15","client":"desktop"}, | |
| {"date":"2012_01_15","client":"mobile"}, | |
| {"date":"2012_01_01","client":"desktop"}, | |
| {"date":"2012_01_01","client":"mobile"}, | |
| {"date":"2011_12_15","client":"desktop"}, | |
| {"date":"2011_12_15","client":"mobile"}, | |
| {"date":"2011_12_01","client":"desktop"}, | |
| {"date":"2011_12_01","client":"mobile"}, | |
| {"date":"2011_11_15","client":"desktop"}, | |
| {"date":"2011_11_15","client":"mobile"}, | |
| {"date":"2011_11_01","client":"desktop"}, | |
| {"date":"2011_11_01","client":"mobile"}, | |
| {"date":"2011_10_15","client":"desktop"}, | |
| {"date":"2011_10_15","client":"mobile"}, | |
| {"date":"2011_10_01","client":"desktop"}, | |
| {"date":"2011_10_01","client":"mobile"}, | |
| {"date":"2011_09_15","client":"desktop"}, | |
| {"date":"2011_09_15","client":"mobile"}, | |
| {"date":"2011_09_01","client":"desktop"}, | |
| {"date":"2011_09_01","client":"mobile"}, | |
| {"date":"2011_08_15","client":"desktop"}, | |
| {"date":"2011_08_15","client":"mobile"}, | |
| {"date":"2011_08_01","client":"desktop"}, | |
| {"date":"2011_08_01","client":"mobile"}, | |
| {"date":"2011_07_15","client":"desktop"}, | |
| {"date":"2011_07_15","client":"mobile"}, | |
| {"date":"2011_07_01","client":"desktop"}, | |
| {"date":"2011_07_01","client":"mobile"}, | |
| {"date":"2011_06_15","client":"desktop"}, | |
| {"date":"2011_06_15","client":"mobile"}, | |
| {"date":"2011_06_01","client":"desktop"}, | |
| {"date":"2011_06_01","client":"mobile"}, | |
| {"date":"2011_05_16","client":"desktop"}, | |
| {"date":"2011_05_16","client":"mobile"}, | |
| {"date":"2011_04_30","client":"desktop"}, | |
| {"date":"2011_04_15","client":"desktop"}, | |
| {"date":"2011_03_29","client":"desktop"}, | |
| {"date":"2011_03_15","client":"desktop"}, | |
| {"date":"2011_02_26","client":"desktop"}, | |
| {"date":"2011_02_11","client":"desktop"}, | |
| {"date":"2011_01_31","client":"desktop"}, | |
| {"date":"2011_01_20","client":"desktop"}, | |
| {"date":"2010_12_28","client":"desktop"}, | |
| {"date":"2010_12_16","client":"desktop"}, | |
| {"date":"2010_11_29","client":"desktop"}, | |
| {"date":"2010_11_15","client":"desktop"}]; | |
| (function() { | |
| return '# Generated by https://gist.github.com/rviscomi/a7ca24ded7a995d16a987073ad61724b' + pages.map(({date, client}) => { | |
| const metric = 'bytesJS'; | |
| const [yyyy, mm, dd] = date.split('_'); | |
| return ` | |
| SELECT | |
| '${date}' AS date, | |
| '${new Date(`${mm}/${dd}/${yyyy}`).getTime()}' AS timestamp, | |
| '${client}' AS client, | |
| AVG(${metric}) AS avg, | |
| MIN(${metric}) AS min, | |
| MAX(${metric}) AS max, | |
| APPROX_QUANTILES(${metric},1000)[OFFSET(100)] AS p10, | |
| APPROX_QUANTILES(${metric},1000)[OFFSET(250)] AS p25, | |
| APPROX_QUANTILES(${metric},1000)[OFFSET(500)] AS p50, | |
| APPROX_QUANTILES(${metric},1000)[OFFSET(750)] AS p75, | |
| APPROX_QUANTILES(${metric},1000)[OFFSET(900)] AS p90 | |
| FROM | |
| \`httparchive.runs.${date}_pages${client == 'mobile' ? '_mobile' : ''}\` | |
| `; | |
| }).join('UNION ALL'); | |
| })() |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Funny story,
date.replace(/_/g, '-')doesn't produce expected results. https://twitter.com/rick_viscomi/status/872519611857633282