{"id":16366460,"url":"https://github.com/centminmod/google-insights-api-tools","last_synced_at":"2025-03-21T01:30:42.000Z","repository":{"id":49804130,"uuid":"139496846","full_name":"centminmod/google-insights-api-tools","owner":"centminmod","description":"gitool.sh shell script to query Google PageSpeed Insights v4 \u0026 v5 API for site \u0026 origin metrics for FCP \u0026 DCL with additional support for GTMetrix \u0026 WebpageTest.org API tests","archived":false,"fork":false,"pushed_at":"2020-10-03T09:30:19.000Z","size":1012,"stargazers_count":54,"open_issues_count":0,"forks_count":11,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-17T19:38:44.512Z","etag":null,"topics":["google-pagespeed","google-pagespeed-insights","gtmetrix","gtmetrix-api","pagespeed","pagespeed-insights","pagespeed-insights-api","webpagetest","webpagetest-api"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/centminmod.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-02T21:26:51.000Z","updated_at":"2025-01-06T18:04:40.000Z","dependencies_parsed_at":"2022-09-14T22:54:13.337Z","dependency_job_id":null,"html_url":"https://github.com/centminmod/google-insights-api-tools","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fgoogle-insights-api-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fgoogle-insights-api-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fgoogle-insights-api-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/centminmod%2Fgoogle-insights-api-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/centminmod","download_url":"https://codeload.github.com/centminmod/google-insights-api-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244721040,"owners_count":20498885,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google-pagespeed","google-pagespeed-insights","gtmetrix","gtmetrix-api","pagespeed","pagespeed-insights","pagespeed-insights-api","webpagetest","webpagetest-api"],"created_at":"2024-10-11T02:46:29.577Z","updated_at":"2025-03-21T01:30:41.647Z","avatar_url":"https://github.com/centminmod.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Contents\n\n* [Google PageSpeed Insights API Tools](#google-pagespeed-insights-api-tools)\n* [Google PageSpeed Insights API Key](#google-pagespeed-insights-api-key)\n  * [Steps to creating API Key Credentials](#steps-to-creating-api-key-credentials)\n* [Notes](#notes)\n* [Install](#install)\n* [Google PageSpeed Insights API v6 Usage](#google-pagespeed-insights-api-v6-usage)\n* [Google PageSpeed Insights API v5 Usage](#google-pagespeed-insights-api-v5-usage)\n* [Google PageSpeed Insights API v4 Usage](#google-pagespeed-insights-api-v4-usage)\n  * [Both Desktop \u0026 Mobile Test origin](#both-desktop--mobile-test-origin)\n  * [Desktop Test origin](#desktop-test-origin)\n  * [Desktop Test site only](#desktop-test-site-only)\n  * [Desktop Test default url only](#desktop-test-default-url-only)\n* [Errors](#errors)\n* [Configuration](#configuration)\n  * [JSON Output](#json-output)\n  * [Command Output](#command-output)\n  * [Slack Channel](#slack-channel)\n  * [Cronjob Scheduled Runs](#cronjob-scheduled-runs)\n* [GTMetrix Report](#gtmetrix-report)\n  * [GTMetrix Slack Channel](#gtmetrix-slack-channel)\n* [WebpageTest.org API Tests](#webpagetestorg-api-tests)\n  * [WebpageTest.org Slack Channel](#webpagetestorg-slack-channel)\n  * [WebpageTest.org Google Lighthouse](#webpagetestorg-google-lighthouse)\n  * [WebpageTest.org Command Line Options](#webpagetestorg-command-line-options)\n    * [WebpageTest.org Regions](#wpt-regions)\n    * [WebpageTest.org Speed Profiles](#wpt-speed-profiles)\n  * [WebpageTest.org Waterfall](#webpagetestorg-waterfall)\n\n\n## Google PageSpeed Insights API Tools\n\nGoogle PageSpeed Insights can now report the aggregate pagespeed results from [Chrome User Experience Report](https://developers.google.com/web/tools/chrome-user-experience-report/) for your entire `origin` domain as seen [here](https://community.centminmod.com/threads/your-sites-google-pagespeed-insights-result.15070/) and [here](https://www.seroundtable.com/google-pagespeed-insights-aggregated-speed-data-origin-25935.html). To be able to use `gitools.sh` script, you first you need to have a Google account to get `GOOGLE_API_KEY` to be able to query the [Google PageSpeed Insights v4 API](https://developers.google.com/speed/docs/insights/v4/getting-started).\n\n## Google PageSpeed Insights API Key\n\nYou can get API Key from https://console.developers.google.com/ by enabling PageSpeed Insights API and creating the  API key from Credentials page. If you don't want to set the `GOOGLE_API_KEY` variable within this script, you can set it in `gitools.ini` config file which resides in same directory as `gitools.sh`\n\n```\nGOOGLE_API_KEY='YOUR_GOOGLE_API_KEY'\n```\n\n### Steps to creating API Key Credentials\n\n1. Create a Google Account if you don't have one https://accounts.google.com/SignUp\n2. Login to Google API Console https://console.developers.google.com/\n3. Create a new project\n4. Enable the PageSpeed Insights API you can find it in API library\n5. Create an API Key via Credentials Page\n\n![](/images/google-console-api-02.png)\n\n![](/images/google-console-api-06.png)\n\n![](/images/google-console-api-09.png) ![](/images/google-console-api-10.png)\n\n\n## Notes\n\nNotes from [Chrome User Experience Report](https://developers.google.com/web/tools/chrome-user-experience-report/)\n\n**Consider population differences across origins**\n\n\u003e The metrics provided by the Chrome User Experience Report are powered by real user measurement data. As a result, the data reflects how real users experienced the visited origin and, unlike synthetic or local testing where the test is performed under fixed and simulated conditions, captures the full range of external factors that shape and contribute to the final user experience.\n\u003e \n\u003e For example, differences in population of users accessing a particular origin can contribute meaningful differences to the user experience. If the site is frequented by more visitors with more modern devices or via a faster network, the results may appear “fast” even if the site is not well optimized. Conversely, a well optimized site that attracts a wider population of users, or a population with larger fraction of users on slower devices or networks, may appear “slow”.\n\u003e \n\u003e When performing head-to-head comparisons across origins, it is important to account and control for the population differences: segment by provided dimensions, such as device type and connection type, and consider external factors such as size of the population, countries from which the origin is accessed, and so on.\n\n**Consider Chrome population differences**\n\n\u003e The Chrome User Experience report is powered by real user measurement aggregated from Chrome users who have opted-in to syncing their browsing history, have not set up a Sync passphrase, and have usage statistic reporting enabled. This population may not be representative of the broader user base for a particular origin and many origins may have population differences among each other. Further, this data does not account for users with different browsers and differences in browser adoption in different geographic regions.\n\u003e \n\u003e As a result, be careful with the types of conclusions being drawn when looking at a cross-section of origins, and when comparing individual origins: avoid using absolute comparisons and consider other population factors outlined in the sections above.\n\nMetrics from [Chrome User Experience Report](https://developers.google.com/web/tools/chrome-user-experience-report/)\n\n**First Contentful Paint**\n\n\u003e “First Contentful Paint reports the time when the browser first rendered any text, image (including background images), non-white canvas or SVG. This includes text with pending webfonts. This is the first time users could start consuming page content.”\n\n**DOMContentLoaded**\n\n\u003e “The DOMContentLoaded reports the time when the initial HTML document has been completely loaded and parsed, without waiting for stylesheets, images, and subframes to finish loading.” \n\n## Install\n\nTo install `gitools.sh` and create persistent config file `gitools.ini` within same directory.\n\n```\nmkdir -p /root/tools\ncd /root/tools\ngit clone https://github.com/centminmod/google-insights-api-tools\ncd google-insights-api-tools\ntouch gitools.ini\n```\n\nTo set variables in `/root/tools/google-insights-api-tools/gitools.ini` that override `gitools.sh` default\n\n```\nGOOGLE_API_KEY='YOUR_GOOGLE_API_KEY'\nCMD_OUTPUT='y'\nJSON_OUTPUT='y'\nSLACK='y'\nwebhook_url='YOUR_SLACK_WEBHOOK_URL'\nchannel='YOUR_SLACK_CHANNEL_NAME'\nicon='ghost'\n```\n\n## Google PageSpeed Insights API v6 Usage\n\nIn May 2020, [Google Lighthouse v6](https://web.dev/lighthouse-whats-new-6.0/) was released and added new metrics to measure. I created `gitools_v6.sh` to work with Google PageSpeed Insights API v6 which reveals these new metrics. Note the API end point still uses `v5`.\n\n```\n./gitools_v6.sh \n\nUsage:\n\nGoogle PageSpeed Insights v6\n./gitools_v6.sh desktop https://domain.com\n./gitools_v6.sh mobile https://domain.com\n./gitools_v6.sh all https://domain.com\n\nGTMetrix\n./gitools_v6.sh gtmetrix https://domain.com\n\nWebpageTest\n\nsupported region(s)\ndulles, california, frankfurt, singapore, sydney\ndallas, london, tokyo, hongkong, mumbia, brazil\nmelbourne, bangkok, jakarta, taiwan, capetown\n\n./gitools_v6.sh wpt https://community.centminmod.com {region} cable\n./gitools_v6.sh wpt https://community.centminmod.com {region} 3g\n./gitools_v6.sh wpt https://community.centminmod.com {region} 3gfast\n./gitools_v6.sh wpt https://community.centminmod.com {region} 4g\n./gitools_v6.sh wpt https://community.centminmod.com {region} lte\n./gitools_v6.sh wpt https://community.centminmod.com {region} fios\n```\n\nExample output with `JSON_OUTPUT='n'` set for `mobile` test\n\n```\n./gitools_v6.sh mobile https://community.centminmod.com\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https%3A%2F%2Fcommunity.centminmod.com\u0026strategy=mobile\u0026key=YOUR_GOOGLE_API_KEY\nmobile CrUX Rating: AVERAGE\nTest url: https://community.centminmod.com\nFCP: 2048ms (AVERAGE) LCP: 2375ms (FAST) FID: 22ms (FAST)\n29.00% pages fast FCP (\u003c1000ms)\n62.30% pages average FCP (\u003c3000ms)\n8.60% pages slow FCP (\u003e3000ms)\n96.20% pages fast FID (\u003c100ms)\n2.70% pages average FID (\u003c300ms)\n1.10% pages slow FID (\u003e300ms)\n91.40% pages fast CLS (\u003c0.10)\n4.00% pages average CLS (\u003c0.25)\n4.60% pages slow CLS (\u003e0.25)\n77.40% pages fast LCP (\u003c2500ms)\n12.40% pages average LCP (\u003c4000ms)\n10.30% pages slow LCP (\u003e4000ms)\n\nPageSpeed Insights v6 Score (mobile): 71 (average)\nhttps://community.centminmod.com\nLighthouse Version: 6.0.0\nCumulative-Layout-Shift: 0.00\nTime-to-Interactive: 6046\nSpeed-Index: 3159\nLargest-Contentful-Paint: 3150\nTotal-Blocking-Time: 691\nTotal-Page-Size: 434 KB\nFirst-Contentful-Paint: 2250\nFirst-Meaningful-Paint: 2250\nFirst-CPU-Idle: 5963\nEstimated-Input-Latency: 74\nTime-To-First-Byte: 200 ms\n\nJavaScript-execution-time: 2.2 s\n```\n\nResults sent to custom Slack Channel\n\n![](/images/gitools_v6-mobile-slack-130620-01.png)\n\n## Google PageSpeed Insights API v5 Usage\n\nIn November 2018, [Google PageSpeed Insights API v5](https://developers.google.com/speed/docs/insights/v5/reference/pagespeedapi/runpagespeed) was released. Details discussed [here](https://community.centminmod.com/threads/google-pagespeed-insights-v5-update.16016/). I created `gitools_v5.sh` to work with Google PageSpeed Insights API v5.\n\n```\n./gitools_v5.sh \n\nUsage:\n\nGoogle PageSpeed Insights v5\n./gitools_v5.sh desktop https://domain.com\n./gitools_v5.sh mobile https://domain.com\n./gitools_v5.sh all https://domain.com\n\nGTMetrix\n./gitools_v5.sh gtmetrix https://domain.com\n\nWebpageTest\n\nsupported region(s)\ndulles, california, frankfurt, singapore, sydney\ndallas, london, tokyo, hongkong, mumbia, brazil\nmelbourne, bangkok, jakarta, taiwan, capetown\n\n./gitools_v5.sh wpt https://community.centminmod.com {region} cable\n./gitools_v5.sh wpt https://community.centminmod.com {region} 3g\n./gitools_v5.sh wpt https://community.centminmod.com {region} 3gfast\n./gitools_v5.sh wpt https://community.centminmod.com {region} 4g\n./gitools_v5.sh wpt https://community.centminmod.com {region} lte\n./gitools_v5.sh wpt https://community.centminmod.com {region} fios\n```\n\nExample output with `JSON_OUTPUT='n'` set for `mobile` test\n\n```\n./gitools_v5.sh mobile https://community.centminmod.com\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https%3A%2F%2Fcommunity.centminmod.com\u0026strategy=mobile\u0026key=YOUR_GOOGLE_API_KEY\nmobile CrUX Rating: SLOW\nTest url: https://community.centminmod.com\nFCP: 3046ms (SLOW) FID: 184ms (AVERAGE)\n30.10% pages fast FCP (\u003c1000ms)\n50.00% pages average FCP (\u003c2500ms)\n19.90% pages slow FCP (\u003e2500ms)\n83.20% pages fast FID (\u003c50ms)\n13.50% pages average FID (\u003c250ms)\n3.40% pages slow FID (\u003e250ms)\n\nPageSpeed Insights v5 Score: 82 (average)\nFirst-Contentful-Paint: 2445\nFirst-Meaningful-Paint: 3810\nSpeed-Index: 2445\nFirst-CPU-Idle: 5014\nTime-to-Interactive: 5280\nEstimated-Input-Latency: 33\nTime-To-First-Byte: 70 ms\n\nJavaScript-execution-time: 1.4 s\nURL  Total  Script-Evaluation  Script-Parse\nhttps://community.centminmod.com/js/jquery/jquery-1.11.0.min.js                       433.29  362.70  31.23\nhttps://pagead2.googlesyndication.com/pagead/js/r20181107/r20180604/show_ads_impl.js  290.67  223.94  47.56\nhttps://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js                        232.26  183.74  28.20\nhttps://stats.g.doubleclick.net/dc.js                                                 210.35  36.61   13.91\nhttps://pagead2.googlesyndication.com/pagead/js/r20181107/r20100101/osd.js            149.50  117.28  30.82\nhttps://community.centminmod.com/js/xenforo/xenforo.js?_v=874b23ae                    98.37   47.62   42.16\n```\n\nResults sent to custom Slack Channel\n\n![](/images/gitools_v5-mobile-slack-161118-01.png)\n\nExample output with `JSON_OUTPUT='n'` set for `desktop` test\n\n```\n./gitools_v5.sh desktop https://community.centminmod.com\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=https%3A%2F%2Fcommunity.centminmod.com\u0026strategy=desktop\u0026key=YOUR_GOOGLE_API_KEY\ndesktop CrUX Rating: SLOW\nTest url: https://community.centminmod.com\nFCP: 2998ms (SLOW) FID: 63ms (AVERAGE)\n29.60% pages fast FCP (\u003c1000ms)\n52.50% pages average FCP (\u003c2500ms)\n17.90% pages slow FCP (\u003e2500ms)\n94.00% pages fast FID (\u003c50ms)\n4.20% pages average FID (\u003c250ms)\n1.70% pages slow FID (\u003e250ms)\n\nPageSpeed Insights v5 Score: 100 (fast)\nFirst-Contentful-Paint: 790\nFirst-Meaningful-Paint: 790\nSpeed-Index: 1854\nFirst-CPU-Idle: 1167\nTime-to-Interactive: 1202\nEstimated-Input-Latency: 13\nTime-To-First-Byte: 560 ms\n\nJavaScript-execution-time: 0.5 s\nURL  Total  Script-Evaluation  Script-Parse\nhttps://community.centminmod.com/js/jquery/jquery-1.11.0.min.js                       206.91  144.15  7.40\nhttps://community.centminmod.com/                                                     185.70  41.73   1.71\nhttps://pagead2.googlesyndication.com/pagead/js/r20181107/r20180604/show_ads_impl.js  89.61   62.74   19.31\nhttps://pagead2.googlesyndication.com/pagead/js/r20181107/r20100101/osd.js            56.60   48.29   7.88\n```\n\nResults sent to custom Slack Channel\n\n![](/images/gitools_v5-desktop-slack-161118-01.png)\n\n\n## Google PageSpeed Insights API v4 Usage\n\nThere are several parameters to pass on command line, desktop/mobile/all determines which type of site you want to test and default/origin/site determines if you want to test the entire domain and all pages (origin) or just the url page itself (default) or just the pages on specific site (site). The site domain you pass must have either `http://` or `https://` prefix.\n\n```\n./gitools.sh \n\nUsage:\n\nGoogle PageSpeed Insights\n./gitools.sh desktop https://domain.com {default|origin|site}\n./gitools.sh mobile https://domain.com {default|origin|site}\n./gitools.sh all https://domain.com {default|origin|site}\n\nGTMetrix\n./gitools.sh gtmetrix https://domain.com\n\nWebpageTest\n\nsupported region(s)\ndulles, california, frankfurt, singapore, sydney\ndallas, london, tokyo, hongkong, mumbia, brazil\nmelbourne, bangkok, jakarta, taiwan, capetown\n\n./gitools.sh wpt https://community.centminmod.com {region} cable\n./gitools.sh wpt https://community.centminmod.com {region} 3g\n./gitools.sh wpt https://community.centminmod.com {region} 3gfast\n./gitools.sh wpt https://community.centminmod.com {region} 4g\n./gitools.sh wpt https://community.centminmod.com {region} lte\n./gitools.sh wpt https://community.centminmod.com {region} fios\n```\n\n## Errors\n\nIf site's traffic is too low and not added to Chrome User Experience Report, you will not be able to get an data, in which case you will see the following\n\n```\n./gitools.sh desktop https://domain.com site               \n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=site%3Ahttps%3A%2F%2Fdomain.com%2F\u0026screenshot=false\u0026snapshots=false\u0026strategy=desktop\u0026fields=loadingExperience(initial_url%2Cmetrics%2Coverall_category)\u0026key=YOUR_GOOGLE_API_KEY\n{}\n\nerror: aborting...\n```\n\n## Configuration\n\n### JSON Output\n\nYou can optionally turn off the JSON output and only display the summary results as well by setting `JSON_OUTPUT='n'` variable in `gitools.ini` config file which resides in same directory as `gitools.sh`\n\n```\n./gitools.sh mobile https://www.google.com origin\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=origin%3Ahttps%3A%2F%2Fwww.google.com%2F\u0026screenshot=false\u0026snapshots=false\u0026strategy=mobile\u0026fields=loadingExperience(initial_url%2Cmetrics%2Coverall_category)\u0026key=YOUR_GOOGLE_API_KEY\n\nhttps://www.google.com FCP median: 469 (FAST) ms DCL median: 883 ms (FAST)\nPage Load Distributions\n91.30 % loads for this page have a fast FCP (less than 1567 milliseconds)\n5.30 % loads for this page have an average FCP (less than 2963 milliseconds)\n3.30 % loads for this page have an slow FCP (over 2963 milliseconds)\n91.50 % loads for this page have a fast DCL (less than 2120 milliseconds)\n5.70 % loads for this page have an average DCL (less than 4226 milliseconds)\n2.70 % loads for this page have a slow DCL (over 4226 milliseconds)\n```\n\n### Command Output\n\nYou can optionally turn off the displaying the curl command \u0026 JSON output and only display the summary results as well by setting `JSON_OUTPUT='n'` \u0026 `CMD_OUTPUT='n'` variable in `gitools.ini` config file which resides in same directory as `gitools.sh`\n\n```\n./gitools.sh mobile https://www.google.com origin\n\n--------------------------------------------------------------------------------\nhttps://www.google.com FCP median: 469 (FAST) ms DCL median: 883 ms (FAST)\nPage Load Distributions\n91.30 % loads for this page have a fast FCP (less than 1567 milliseconds)\n5.30 % loads for this page have an average FCP (less than 2963 milliseconds)\n3.30 % loads for this page have an slow FCP (over 2963 milliseconds)\n91.50 % loads for this page have a fast DCL (less than 2120 milliseconds)\n5.70 % loads for this page have an average DCL (less than 4226 milliseconds)\n2.70 % loads for this page have a slow DCL (over 4226 milliseconds)\n```\n\n### Slack Channel\n\nYou can send results to a Slack Channel via incoming webhooks by setting `SLACK='y'` and other listed variables in `gitools.ini` config file which resides in same directory as `gitools.sh`\n\n```\nSLACK='y'\nwebhook_url=\"\"       # Incoming Webhooks integration URL\nchannel=\"general\"    # Default channel to post messages. '#' is prepended\nusername=\"psi-bot\"   # Default username to post messages.\nicon=\"ghost\"         # Default emoji to post messages. Don't wrap it with ':'. See http://www.emoji-cheat-sheet.com; can be a url too.\n```\n\n![](/images/google-pagespeed-insight-api-gitool-slack-01b.png)\n\nSlack Android App\n\n![](/images/gitools-pagespeed-insights-gtmetrix-slack-format-updated-mobile-01b.jpg)\n\n### Cronjob Scheduled Runs\n\nYou can create a cronjob script to schedule `gitools.sh` runs for mobile domain name origin checks. Useful, if you have enabled [Slack Channel](#slack-channel) integration so can monitor your Google PageSpeed Insight results over time.\n\ni.e. create a file called `cron.sh` at `/root/tools/google-insights-api-tools/cron.sh` containing the following - replacing the domains with your domains you want to check. Add as many domains you want - one per new line. Also added [GTMetrix Report](#gtmetrix-report) \u0026 [WebpageTest.org API Tests](#webpagetestorg-api-tests).\n\n```\n#!/bin/bash\ncd /root/tools/google-insights-api-tools\n./gitools.sh all https://www.google.com origin\n./gitools.sh all https://centminmod.com origin\n./gitools.sh all https://community.centminmod.com origin\n\n./gitools.sh gtmetrix https://centminmod.com\n./gitools.sh gtmetrix https://community.centminmod.com\n\n./gitools.sh wpt https://centminmod.com dulles cable\n./gitools.sh wpt https://centminmod.com dulles-thinkpad cable\n./gitools.sh wpt https://centminmod.com california cable\n./gitools.sh wpt https://centminmod.com frankfurt cable\n./gitools.sh wpt https://centminmod.com singapore cable\n./gitools.sh wpt https://centminmod.com sydney cable\n./gitools.sh wpt https://centminmod.com dallas cable\n./gitools.sh wpt https://centminmod.com london cable\n./gitools.sh wpt https://centminmod.com tokyo cable\n./gitools.sh wpt https://centminmod.com mumbia cable\n./gitools.sh wpt https://centminmod.com brazil cable\n./gitools.sh wpt https://community.centminmod.com dulles cable\n./gitools.sh wpt https://community.centminmod.com dulles-thinkpad cable\n./gitools.sh wpt https://community.centminmod.com california cable\n./gitools.sh wpt https://community.centminmod.com frankfurt cable\n./gitools.sh wpt https://community.centminmod.com singapore cable\n./gitools.sh wpt https://community.centminmod.com sydney cable\n./gitools.sh wpt https://community.centminmod.com dallas cable\n./gitools.sh wpt https://community.centminmod.com london cable\n./gitools.sh wpt https://community.centminmod.com tokyo cable\n./gitools.sh wpt https://community.centminmod.com mumbia cable\n./gitools.sh wpt https://community.centminmod.com brazil cable\n\n./gitools.sh wpt https://centminmod.com dulles 3g\n./gitools.sh wpt https://centminmod.com california 3g\n./gitools.sh wpt https://centminmod.com frankfurt 3g\n./gitools.sh wpt https://centminmod.com singapore 3g\n./gitools.sh wpt https://centminmod.com sydney 3g\n./gitools.sh wpt https://centminmod.com dallas 3g\n./gitools.sh wpt https://centminmod.com london 3g\n./gitools.sh wpt https://community.centminmod.com dulles 3g\n./gitools.sh wpt https://community.centminmod.com california 3g\n./gitools.sh wpt https://community.centminmod.com frankfurt 3g\n./gitools.sh wpt https://community.centminmod.com singapore 3g\n./gitools.sh wpt https://community.centminmod.com sydney 3g\n./gitools.sh wpt https://community.centminmod.com dallas 3g\n./gitools.sh wpt https://community.centminmod.com london 3g\n```\n\nensure permissions are executeable\n\n```\nchmod +x /root/tools/google-insights-api-tools/cron.sh\n```\n\ndo manual script run to check that it's working\n\n```\n/root/tools/google-insights-api-tools/cron.sh\n```\n\nsetup cronjob to run every Monday once a week at 5:19 AM\n\n```\n19 5 * * MON /root/tools/google-insights-api-tools/cron.sh \u003e/dev/null 2\u003e\u00261\n```\n\n### Both Desktop \u0026 Mobile Test origin\n\nBoth Desktop \u0026 Mobile test `origin:` of a domain - all pages scanned for the domain = [https://www.google.com](https://developers.google.com/speed/pagespeed/insights/?url=origin%3Ahttps%3A%2F%2Fwww.google.com%2F)\n\n![](/images/google-pagespeed-insight-api-gitool-desktop-01b.png)\n\n![](/images/google-pagespeed-insight-api-gitool-mobile-01b.png)\n\n```\n./gitools.sh all https://www.google.com origin\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=origin%3Ahttps%3A%2F%2Fwww.google.com%2F\u0026screenshot=false\u0026snapshots=false\u0026strategy=desktop\u0026fields=loadingExperience(initial_url%2Cmetrics%2Coverall_category)\u0026key=YOUR_GOOGLE_API_KEY\n{\n \"loadingExperience\": {\n  \"metrics\": {\n   \"FIRST_CONTENTFUL_PAINT_MS\": {\n    \"median\": 409,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 984,\n      \"proportion\": 0.8454713690354932\n     },\n     {\n      \"min\": 984,\n      \"max\": 2073,\n      \"proportion\": 0.10403871224107414\n     },\n     {\n      \"min\": 2073,\n      \"proportion\": 0.0504899187234326\n     }\n    ],\n    \"category\": \"FAST\"\n   },\n   \"DOM_CONTENT_LOADED_EVENT_FIRED_MS\": {\n    \"median\": 872,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 1366,\n      \"proportion\": 0.806970519946481\n     },\n     {\n      \"min\": 1366,\n      \"max\": 2787,\n      \"proportion\": 0.1438260280157439\n     },\n     {\n      \"min\": 2787,\n      \"proportion\": 0.04920345203777508\n     }\n    ],\n    \"category\": \"FAST\"\n   }\n  },\n  \"overall_category\": \"FAST\",\n  \"initial_url\": \"https://www.google.com/\"\n }\n}\n\nhttps://www.google.com FCP median: 409 (FAST) ms DCL median: 872 ms (FAST)\nPage Load Distributions\n84.50 % loads for this page have a fast FCP (less than 984 milliseconds)\n10.40 % loads for this page have an average FCP (less than 2073 milliseconds)\n5.00 % loads for this page have an slow FCP (over 2073 milliseconds)\n80.70 % loads for this page have a fast DCL (less than 1366 milliseconds)\n14.40 % loads for this page have an average DCL (less than 2787 milliseconds)\n4.90 % loads for this page have a slow DCL (over 2787 milliseconds)\n\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=origin%3Ahttps%3A%2F%2Fwww.google.com%2F\u0026screenshot=false\u0026snapshots=false\u0026strategy=mobile\u0026fields=loadingExperience(initial_url%2Cmetrics%2Coverall_category)\u0026key=YOUR_GOOGLE_API_KEY\n{\n \"loadingExperience\": {\n  \"metrics\": {\n   \"FIRST_CONTENTFUL_PAINT_MS\": {\n    \"median\": 469,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 1567,\n      \"proportion\": 0.9132962514832138\n     },\n     {\n      \"min\": 1567,\n      \"max\": 2963,\n      \"proportion\": 0.05335475928893682\n     },\n     {\n      \"min\": 2963,\n      \"proportion\": 0.03334898922784932\n     }\n    ],\n    \"category\": \"FAST\"\n   },\n   \"DOM_CONTENT_LOADED_EVENT_FIRED_MS\": {\n    \"median\": 883,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 2120,\n      \"proportion\": 0.9154626026722679\n     },\n     {\n      \"min\": 2120,\n      \"max\": 4226,\n      \"proportion\": 0.05745611798106648\n     },\n     {\n      \"min\": 4226,\n      \"proportion\": 0.027081279346665484\n     }\n    ],\n    \"category\": \"FAST\"\n   }\n  },\n  \"overall_category\": \"FAST\",\n  \"initial_url\": \"https://www.google.com/\"\n }\n}\n\nhttps://www.google.com FCP median: 469 (FAST) ms DCL median: 883 ms (FAST)\nPage Load Distributions\n91.30 % loads for this page have a fast FCP (less than 1567 milliseconds)\n5.30 % loads for this page have an average FCP (less than 2963 milliseconds)\n3.30 % loads for this page have an slow FCP (over 2963 milliseconds)\n91.50 % loads for this page have a fast DCL (less than 2120 milliseconds)\n5.70 % loads for this page have an average DCL (less than 4226 milliseconds)\n2.70 % loads for this page have a slow DCL (over 4226 milliseconds)\n```\n\n### Desktop Test origin\n\nDesktop test `origin:` of a domain - all pages scanned for the domain = [https://www.google.com](https://developers.google.com/speed/pagespeed/insights/?url=origin%3Ahttps%3A%2F%2Fwww.google.com%2F)\n\n```\n./gitools.sh desktop https://www.google.com origin\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=origin%3Ahttps%3A%2F%2Fwww.google.com%2F\u0026screenshot=false\u0026snapshots=false\u0026strategy=desktop\u0026fields=loadingExperience(initial_url%2Cmetrics%2Coverall_category)\u0026key=YOUR_GOOGLE_API_KEY\n{\n \"loadingExperience\": {\n  \"metrics\": {\n   \"FIRST_CONTENTFUL_PAINT_MS\": {\n    \"median\": 409,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 984,\n      \"proportion\": 0.8454713690354932\n     },\n     {\n      \"min\": 984,\n      \"max\": 2073,\n      \"proportion\": 0.10403871224107414\n     },\n     {\n      \"min\": 2073,\n      \"proportion\": 0.0504899187234326\n     }\n    ],\n    \"category\": \"FAST\"\n   },\n   \"DOM_CONTENT_LOADED_EVENT_FIRED_MS\": {\n    \"median\": 872,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 1366,\n      \"proportion\": 0.806970519946481\n     },\n     {\n      \"min\": 1366,\n      \"max\": 2787,\n      \"proportion\": 0.1438260280157439\n     },\n     {\n      \"min\": 2787,\n      \"proportion\": 0.04920345203777508\n     }\n    ],\n    \"category\": \"FAST\"\n   }\n  },\n  \"overall_category\": \"FAST\",\n  \"initial_url\": \"https://www.google.com/\"\n }\n}\n\nhttps://www.google.com FCP median: 409 (FAST) ms DCL median: 872 ms (FAST)\nPage Load Distributions\n84.50 % loads for this page have a fast FCP (less than 984 milliseconds)\n10.40 % loads for this page have an average FCP (less than 2073 milliseconds)\n5.00 % loads for this page have an slow FCP (over 2073 milliseconds)\n80.70 % loads for this page have a fast DCL (less than 1366 milliseconds)\n14.40 % loads for this page have an average DCL (less than 2787 milliseconds)\n4.90 % loads for this page have a slow DCL (over 2787 milliseconds)\n```\n\n### Desktop Test site only\n\nDesktop Test `site` only = [https://www.google.com](https://developers.google.com/speed/pagespeed/insights/?url=site%3Ahttps%3A%2F%2Fwww.google.com)\n\n```\n./gitools.sh desktop https://www.google.com site\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=site%3Ahttps%3A%2F%2Fwww.google.com%2F\u0026screenshot=false\u0026snapshots=false\u0026strategy=desktop\u0026fields=loadingExperience(initial_url%2Cmetrics%2Coverall_category)\u0026key=YOUR_GOOGLE_API_KEY\n{\n \"loadingExperience\": {\n  \"metrics\": {\n   \"FIRST_CONTENTFUL_PAINT_MS\": {\n    \"median\": 409,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 984,\n      \"proportion\": 0.8454713690354932\n     },\n     {\n      \"min\": 984,\n      \"max\": 2073,\n      \"proportion\": 0.10403871224107414\n     },\n     {\n      \"min\": 2073,\n      \"proportion\": 0.0504899187234326\n     }\n    ],\n    \"category\": \"FAST\"\n   },\n   \"DOM_CONTENT_LOADED_EVENT_FIRED_MS\": {\n    \"median\": 872,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 1366,\n      \"proportion\": 0.806970519946481\n     },\n     {\n      \"min\": 1366,\n      \"max\": 2787,\n      \"proportion\": 0.1438260280157439\n     },\n     {\n      \"min\": 2787,\n      \"proportion\": 0.04920345203777508\n     }\n    ],\n    \"category\": \"FAST\"\n   }\n  },\n  \"overall_category\": \"FAST\",\n  \"initial_url\": \"https://www.google.com/\"\n }\n}\n\nhttps://www.google.com FCP median: 409 (FAST) ms DCL median: 872 ms (FAST)\nPage Load Distributions\n84.50 % loads for this page have a fast FCP (less than 984 milliseconds)\n10.40 % loads for this page have an average FCP (less than 2073 milliseconds)\n5.00 % loads for this page have an slow FCP (over 2073 milliseconds)\n80.70 % loads for this page have a fast DCL (less than 1366 milliseconds)\n14.40 % loads for this page have an average DCL (less than 2787 milliseconds)\n4.90 % loads for this page have a slow DCL (over 2787 milliseconds)\n```\n\n### Desktop Test default url only\n\nDesktop Test `default` url only = [https://www.google.com](https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.google.com)\n\n```\n./gitools.sh desktop https://www.google.com default\n\n--------------------------------------------------------------------------------\ncurl -4s https://www.googleapis.com/pagespeedonline/v4/runPagespeed?url=https%3A%2F%2Fwww.google.com%2F\u0026screenshot=false\u0026snapshots=false\u0026strategy=desktop\u0026fields=formattedResults%2CloadingExperience(initial_url%2Cmetrics%2Coverall_category)%2CpageStats%2CruleGroups\u0026key=YOUR_GOOGLE_API_KEY\n{\n \"ruleGroups\": {\n  \"SPEED\": {\n   \"score\": 100\n  }\n },\n \"loadingExperience\": {\n  \"metrics\": {\n   \"FIRST_CONTENTFUL_PAINT_MS\": {\n    \"median\": 653,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 984,\n      \"proportion\": 0.665188778465699\n     },\n     {\n      \"min\": 984,\n      \"max\": 2073,\n      \"proportion\": 0.17106665988487277\n     },\n     {\n      \"min\": 2073,\n      \"proportion\": 0.16374456164942816\n     }\n    ],\n    \"category\": \"FAST\"\n   },\n   \"DOM_CONTENT_LOADED_EVENT_FIRED_MS\": {\n    \"median\": 728,\n    \"distributions\": [\n     {\n      \"min\": 0,\n      \"max\": 1366,\n      \"proportion\": 0.7305463486065137\n     },\n     {\n      \"min\": 1366,\n      \"max\": 2787,\n      \"proportion\": 0.1349309122511865\n     },\n     {\n      \"min\": 2787,\n      \"proportion\": 0.13452273914229979\n     }\n    ],\n    \"category\": \"FAST\"\n   }\n  },\n  \"overall_category\": \"FAST\",\n  \"initial_url\": \"https://www.google.com/\"\n },\n \"pageStats\": {\n  \"numberResources\": 15,\n  \"numberHosts\": 6,\n  \"totalRequestBytes\": \"2286\",\n  \"numberStaticResources\": 9,\n  \"htmlResponseBytes\": \"227045\",\n  \"overTheWireResponseBytes\": \"434876\",\n  \"imageResponseBytes\": \"37282\",\n  \"javascriptResponseBytes\": \"825514\",\n  \"otherResponseBytes\": \"41770\",\n  \"numberJsResources\": 4,\n  \"numTotalRoundTrips\": 10,\n  \"numRenderBlockingRoundTrips\": 0\n },\n \"formattedResults\": {\n  \"locale\": \"en_US\",\n  \"ruleResults\": {\n   \"AvoidLandingPageRedirects\": {\n    \"localizedRuleName\": \"Avoid landing page redirects\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"Your page has no redirects. Learn more about {{BEGIN_LINK}}avoiding landing page redirects{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/AvoidRedirects\"\n      }\n     ]\n    }\n   },\n   \"EnableGzipCompression\": {\n    \"localizedRuleName\": \"Enable compression\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"You have compression enabled. Learn more about {{BEGIN_LINK}}enabling compression{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/EnableCompression\"\n      }\n     ]\n    }\n   },\n   \"LeverageBrowserCaching\": {\n    \"localizedRuleName\": \"Leverage browser caching\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"You have enabled browser caching. Learn more about {{BEGIN_LINK}}browser caching recommendations{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/LeverageBrowserCaching\"\n      }\n     ]\n    }\n   },\n   \"MainResourceServerResponseTime\": {\n    \"localizedRuleName\": \"Reduce server response time\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"Your server responded quickly. Learn more about {{BEGIN_LINK}}server response time optimization{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/Server\"\n      }\n     ]\n    }\n   },\n   \"MinifyCss\": {\n    \"localizedRuleName\": \"Minify CSS\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"Your CSS is minified. Learn more about {{BEGIN_LINK}}minifying CSS{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/MinifyResources\"\n      }\n     ]\n    }\n   },\n   \"MinifyHTML\": {\n    \"localizedRuleName\": \"Minify HTML\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"Your HTML is minified. Learn more about {{BEGIN_LINK}}minifying HTML{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/MinifyResources\"\n      }\n     ]\n    }\n   },\n   \"MinifyJavaScript\": {\n    \"localizedRuleName\": \"Minify JavaScript\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"Your JavaScript content is minified. Learn more about {{BEGIN_LINK}}minifying JavaScript{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/MinifyResources\"\n      }\n     ]\n    }\n   },\n   \"MinimizeRenderBlockingResources\": {\n    \"localizedRuleName\": \"Eliminate render-blocking JavaScript and CSS in above-the-fold content\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"You have no render-blocking resources. Learn more about {{BEGIN_LINK}}removing render-blocking resources{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/BlockingJS\"\n      }\n     ]\n    }\n   },\n   \"OptimizeImages\": {\n    \"localizedRuleName\": \"Optimize images\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"Your images are optimized. Learn more about {{BEGIN_LINK}}optimizing images{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/OptimizeImages\"\n      }\n     ]\n    }\n   },\n   \"PrioritizeVisibleContent\": {\n    \"localizedRuleName\": \"Prioritize visible content\",\n    \"ruleImpact\": 0.0,\n    \"groups\": [\n     \"SPEED\"\n    ],\n    \"summary\": {\n     \"format\": \"You have the above-the-fold content properly prioritized. Learn more about {{BEGIN_LINK}}prioritizing visible content{{END_LINK}}.\",\n     \"args\": [\n      {\n       \"type\": \"HYPERLINK\",\n       \"key\": \"LINK\",\n       \"value\": \"https://developers.google.com/speed/docs/insights/PrioritizeVisibleContent\"\n      }\n     ]\n    }\n   }\n  }\n }\n}\n\nhttps://www.google.com FCP median: 653 (FAST) ms DCL median: 728 ms (FAST)\nPage Load Distributions\n66.50 % loads for this page have a fast FCP (less than 984 milliseconds)\n17.10 % loads for this page have an average FCP (less than 2073 milliseconds)\n16.40 % loads for this page have an slow FCP (over 2073 milliseconds)\n73.10 % loads for this page have a fast DCL (less than 1366 milliseconds)\n13.50 % loads for this page have an average DCL (less than 2787 milliseconds)\n13.50 % loads for this page have a slow DCL (over 2787 milliseconds)\n```\n\n## GTMetrix Report\n\nTo run GTMetrix report, you need to have signed up for a GTMetrix account and  set variables in `/root/tools/google-insights-api-tools/gitools.ini` that override `gitools.sh` default and set your GTMetrix account email and API key from https://gtmetrix.com/api/\n\n```\nGTMETRIX='y'\nGTEMAIL='YOUR_GTMETRIX_ACCOUNT_EMAIL'\nGTAPIKEY='YOUR_GTMETRIX_API_KEY'\nGTBROWSER_WIDTH='1366'\nGTBROWSER_HEIGHT='768'\nGTVIDEO='n'\n# 1 = Vancouver, CA\n# 2 = London, UK\n# 3 = Sydney, Australia\n# 4 = Dallas, USA\n# 5 = Mumbai, India\n# 6 = Sao Paulo, Brazil\n# 7 = Hong Kong, China\nGTLOCATION='4'\n# Browsers\n# 1 = Firefox\n# 3 = Chrome\nGTBROWSER='3'\n```\n\nRun `gitools.sh` gtmetrix option passing site to test https://community.centminmod.com. The site domain you pass must have either `http://` or `https://` prefix.\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh gtmetrix https://community.centminmod.com\n\n{\"credits_left\":56,\"test_id\":\"GBIHKb7W\",\"poll_state_url\":\"https://gtmetrix.com/api/0.1/test/GBIHKb7W\"}\nwaiting on results...\n{\n  \"resources\": {\n    \"report_pdf\": \"https://gtmetrix.com/api/0.1/test/GBIHKb7W/report-pdf\",\n    \"pagespeed\": \"https://gtmetrix.com/api/0.1/test/GBIHKb7W/pagespeed\",\n    \"har\": \"https://gtmetrix.com/api/0.1/test/GBIHKb7W/har\",\n    \"pagespeed_files\": \"https://gtmetrix.com/api/0.1/test/GBIHKb7W/pagespeed-files\",\n    \"report_pdf_full\": \"https://gtmetrix.com/api/0.1/test/GBIHKb7W/report-pdf?full=1\",\n    \"yslow\": \"https://gtmetrix.com/api/0.1/test/GBIHKb7W/yslow\",\n    \"screenshot\": \"https://gtmetrix.com/api/0.1/test/GBIHKb7W/screenshot\"\n  },\n  \"error\": \"\",\n  \"results\": {\n    \"onload_time\": 916,\n    \"first_contentful_paint_time\": 687,\n    \"page_elements\": 28,\n    \"report_url\": \"https://gtmetrix.com/reports/community.centminmod.com/ArOUhu5I\",\n    \"redirect_duration\": 0,\n    \"first_paint_time\": 687,\n    \"dom_content_loaded_duration\": null,\n    \"dom_content_loaded_time\": 911,\n    \"dom_interactive_time\": 667,\n    \"page_bytes\": 508764,\n    \"page_load_time\": 916,\n    \"html_bytes\": 16691,\n    \"fully_loaded_time\": 1885,\n    \"html_load_time\": 395,\n    \"rum_speed_index\": 687,\n    \"yslow_score\": 89,\n    \"pagespeed_score\": 95,\n    \"backend_duration\": 208,\n    \"onload_duration\": 2,\n    \"connect_duration\": 187\n  },\n  \"state\": \"completed\"\n}\n\n--------------------------------------------------------------------------------\nGTMetrix Test (Dallas Chrome Broadband 5Mbps): https://community.centminmod.com\nPageSpeed Score: 95 YSlow Score: 89\nReport: https://gtmetrix.com/reports/community.centminmod.com/ArOUhu5I\nFully Loaded Time: 1885 ms Total Page Size: 508764 (bytes) Requests: 28\nRUM Speed Index: 687\nRedirect: 0 ms Connect: 187 ms Backend: 208 ms\nTTFB: 395 ms DOM-int: 667 ms First-paint: 687 ms\nContentful-paint: 687 ms DOM-loaded: 911 ms Onload: 916 ms\n```\n\n### GTMetrix Slack Channel\n\n![](/images/gtmetrix-api-slack-01.png)\n\n\n## WebpageTest.org API Tests\n\nTo run WebpageTest.org report via the [API](https://sites.google.com/a/webpagetest.org/docs/advanced-features/webpagetest-restful-apis), you need to have signed up for a [WebPageTest.org account](https://www.webpagetest.org/forums/member.php?action=register) to get API Key and set variables in `/root/tools/google-insights-api-tools/gitools.ini` that override `gitools.sh` default and set your WebpageTest.org API key from http://www.webpagetest.org/getkey.php. This test routine's code was borrowed from another one of my custom scripts which queried the WebpageTest.org API. I will be slowly porting the code over to `gitools.sh`.\n\n```\nWPT='y'\nWPT_APIKEY='YOUR_WPT_API_KEY'\n```\n\n* Currently, tests are done only from Dulles, Dulles Motorola G4 3G, Dulles Galaxy S7, California, Frankfurt, Singapore, Sydney, Dallas, London, Tokyo, Hong Kong, Mumbia, and Brazil locations for Chrome Cable 5Mbps speed profile and will later be expanded to other profile/locations. Due to delays in processing results, there's a incremental 15 seconds delay until results are displayed. If results are still not available, another 15 second delay and recheck is triggered and so on until results are available.\n* WPT tests are run from a specific tester id for the region listed at https://www.webpagetest.org/getTesters.php. So WPT tests are more comparable between test runs when using the same tester id as usually there are many testers within a specific region. \n* Currently, for Dulles tester id `TESTER_CABLE='VM3-06'` and for California tester id `TESTER_CABLE='ip-172-31-8-84'` and for Frankfurt tester id `TESTER_CABLE='ip-172-31-28-65'` and for Singapore tester id `TESTER_CABLE='ip-172-31-39-48'` and for Sydney tester id `TESTER_CABLE='ip-172-31-7-201'` and for Dulles Motorola G4 3G tester id `TESTER_CABLE='MotoG4_21'` are used. Dulles region is the main test location so has the most tester server ids (32) ranging from `VM1-01 to VM1-08`, `VM2-01 to VM2-08`, `VM3-01 to VM3-08` and `VM4-01 to VM4-08`.\n\nDulles test with variables set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='y'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='n'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='n'\nWPT_FRANKFURT='n'\nWPT_SINGAPORE='n'\nWPT_SYDNEY='n'\nWPT_DALLAS='n'\nWPT_LONDON='n'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com             \n\n--------------------------------------------------------------------------------\nDulles:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180704_H8_23eed1d3922c72ddac94702865d442fb\nhttps://www.webpagetest.org/result/180704_H8_23eed1d3922c72ddac94702865d442fb/\n/home/wptresults/wpt-dulles.chrome.cable.040718-074351.log\nOk\n----\nfirstPaint 1065 \nloadTime 1270 \ndomInteractive 1235 \nfullyLoaded 2536 \nrequests 25 \nTTFB 453 \ndomElements 1983 \nvisualComplete 1900 \nrender 1100 \nSpeedIndex 1124 \nvisualComplete85 1100 \nvisualComplete90 1100 \nvisualComplete95 1300 \nvisualComplete99 1300 \nchromeUserTiming.firstPaint 1064 \nok----\n--------------------------------------------------------------------------------\n```\n\nCalifornia test with variable set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='n'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='n'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='y'\nWPT_FRANKFURT='n'\nWPT_SINGAPORE='n'\nWPT_SYDNEY='n'\nWPT_DALLAS='n'\nWPT_LONDON='n'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com          \n\n--------------------------------------------------------------------------------\nec2-us-west-1:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180704_DX_a6a1d27c616668ec6ae373c527e92168\nhttps://www.webpagetest.org/result/180704_DX_a6a1d27c616668ec6ae373c527e92168/\n/home/wptresults/wpt-california.ec2-us-west-1.chrome.cable.040718-195523.log\nOk (200)\n----\nfirstPaint 603 \nloadTime 621 \ndomInteractive 231 \nfullyLoaded 1621 \nrequests 25 \nTTFB 191 \ndomElements 2001 \nvisualComplete 1100 \nrender 600 \nSpeedIndex 605 \nvisualComplete85 600 \nvisualComplete90 600 \nvisualComplete95 600 \nvisualComplete99 600 \nchromeUserTiming.domInteractive 231 \nok----\n--------------------------------------------------------------------------------\n```\n\nFrankfurt test with variable set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='n'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='n'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='n'\nWPT_FRANKFURT='y'\nWPT_SINGAPORE='n'\nWPT_SYDNEY='n'\nWPT_DALLAS='n'\nWPT_LONDON='n'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com\n\n--------------------------------------------------------------------------------\nec2-eu-central-1:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180704_F3_4a0be6f7e2c7ee3428da8fd714310cef\nhttps://www.webpagetest.org/result/180704_F3_4a0be6f7e2c7ee3428da8fd714310cef/\n/home/wptresults/wpt-frankfurt.ec2-eu-central-1.chrome.cable.040718-211129.log\nOk (200)\n----\nfirstPaint 1212 \nloadTime 1324 \ndomInteractive 1300 \nfullyLoaded 3183 \nrequests 29 \nTTFB 754 \ndomElements 1982 \nvisualComplete 2500 \nrender 1300 \nSpeedIndex 1383 \nvisualComplete85 1300 \nvisualComplete90 1300 \nvisualComplete95 2400 \nvisualComplete99 2500 \nchromeUserTiming.firstPaint 1211 \nok----\n--------------------------------------------------------------------------------\n```\n\nSingapore test with variable set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='n'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='n'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='n'\nWPT_FRANKFURT='n'\nWPT_SINGAPORE='y'\nWPT_SYDNEY='n'\nWPT_DALLAS='n'\nWPT_LONDON='n'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com\n\n--------------------------------------------------------------------------------\nec2-ap-southeast-1:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180704_X4_3fb278c50ca48c6a253bb1b10fa0547d\nhttps://www.webpagetest.org/result/180704_X4_3fb278c50ca48c6a253bb1b10fa0547d/\n/home/wptresults/wpt-singapore.ec2-ap-southeast-1.chrome.cable.040718-220521.log\nOk (200)\n----\nfirstPaint 2116 \nloadTime 1978 \ndomInteractive 1335 \nfullyLoaded 4060 \nrequests 27 \nTTFB 970 \ndomElements 1973 \nvisualComplete 2400 \nrender 2100 \nSpeedIndex 2103 \nvisualComplete85 2100 \nvisualComplete90 2100 \nvisualComplete95 2100 \nvisualComplete99 2100 \nchromeUserTiming.domInteractive 1335 \nok----\n--------------------------------------------------------------------------------\n```\n\nSydney test with variable set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='n'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='n'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='n'\nWPT_FRANKFURT='n'\nWPT_SINGAPORE='n'\nWPT_SYDNEY='y'\nWPT_DALLAS='n'\nWPT_LONDON='n'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com\n\n--------------------------------------------------------------------------------\nec2-ap-southeast-2:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180704_RR_177c25aa214d6a05433e71d164426586\nhttps://www.webpagetest.org/result/180704_RR_177c25aa214d6a05433e71d164426586/\n/home/wptresults/wpt-sydney.ec2-ap-southeast-2.chrome.cable.040718-221502.log\nOk (200)\n----\nfirstPaint 1260 \nloadTime 1365 \ndomInteractive 1250 \nfullyLoaded 3444 \nrequests 51 \nTTFB 799 \ndomElements 1982 \nvisualComplete 2500 \nrender 1300 \nSpeedIndex 1391 \nvisualComplete85 1300 \nvisualComplete90 1400 \nvisualComplete95 2400 \nvisualComplete99 2500 \nchromeUserTiming.domInteractive 1249 \nok----\n--------------------------------------------------------------------------------\n```\n\nDulles Motorla G4 3G test with variable set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='n'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='y'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='n'\nWPT_FRANKFURT='n'\nWPT_SINGAPORE='n'\nWPT_SYDNEY='n'\nWPT_DALLAS='n'\nWPT_LONDON='n'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\nVery long backlog queue !\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com\n\n--------------------------------------------------------------------------------\nDulles:MotoG4:3g WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180705_MY_8MM\nhttps://www.webpagetest.org/result/180705_MY_8MM/\nhttps://www.webpagetest.org/lighthouse.php?test=180705_MY_8MM\n/home/wptresults/wpt-dulles-motog4-mobile.chrome.3g.050718-034125.log\nWaiting behind 5 other tests...\nWaiting behind 5 other tests... (101)\nwaiting on results...\nWaiting behind 5 other tests...\nWaiting behind 5 other tests... (101)\nwaiting on results...\nWaiting behind 5 other tests...\nWaiting behind 5 other tests... (101)\nwaiting on results...\nWaiting behind 5 other tests...\nWaiting behind 5 other tests... (101)\nwaiting on results...\nWaiting behind 5 other tests...\nWaiting behind 5 other tests... (101)\nwaiting on results...\nWaiting behind 7 other tests...\nWaiting behind 7 other tests... (101)\nwaiting on results...\n```\n\nDallas test with variable set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='n'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='n'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='n'\nWPT_FRANKFURT='n'\nWPT_SINGAPORE='n'\nWPT_SYDNEY='n'\nWPT_DALLAS='y'\nWPT_LONDON='n'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com\n\n--------------------------------------------------------------------------------\nTexas2:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180705_HS_1N86\nhttps://www.webpagetest.org/result/180705_HS_1N86/\nhttps://www.webpagetest.org/lighthouse.php?test=180705_HS_1N86\n/home/wptresults/wpt-dallas.Texas2.chrome.cable.050718-222621.log\nTest Started 26 seconds ago\nTest Started 26 seconds ago (100)\nwaiting on results...\nTest Complete\nTest Complete (200)\nwaiting on results...\nTest Complete\nTest Complete (200)\n----\nfirstPaint 867 \nloadTime 1041 \ndomInteractive 565 \nfullyLoaded 2560 \nrequests 25 \nTTFB 428 \ndomElements 1967 \nvisualComplete 1967 \nrender 900 \nSpeedIndex 910 \nvisualComplete85 900 \nvisualComplete90 900 \nvisualComplete95 900 \nvisualComplete99 900 \nchromeUserTiming.domInteractive 564 \nchromeUserTiming.firstPaint 866 \nchromeUserTiming.firstContentfulPaint 866 \nchromeUserTiming.firstMeaningfulPaintCandidate 1011 \nchromeUserTiming.firstMeaningfulPaint 1011 \nchromeUserTiming.domComplete 1040 \nlighthouse.Performance.first-contentful-paint 1489 \nlighthouse.Performance.estimated-input-latency 50 \nlighthouse.Performance.speed-index 1720 \nlighthouse.Performance.first-meaningful-paint 2005 \nlighthouse.Performance.first-cpu-idle 4316 \nhttps://www.webpagetest.org/results/18/07/05/HS/1N86/1_waterfall.png\nok----\n--------------------------------------------------------------------------------\n```\n\nLondon test with variable set in `/root/tools/google-insights-api-tools/gitools.ini` to\n\n```\nWPT_DULLES='n'\nWPT_DULLES_THINKPAD='n'\nWPT_DULLES_3G='n'\nWPT_DULLES_3G_S7='n'\nWPT_CALIFORNIA='n'\nWPT_FRANKFURT='n'\nWPT_SINGAPORE='n'\nWPT_SYDNEY='n'\nWPT_DALLAS='n'\nWPT_LONDON='y'\nWPT_TOKYO='n'\nWPT_HONGKONG='n'\nWPT_MUMBIA='n'\nWPT_BRAZIL='n'\n```\n\nExperiencing a queue backlog but eventually completed\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com\n\n--------------------------------------------------------------------------------\nLondon_EC2:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180705_NX_1NC7\nhttps://www.webpagetest.org/result/180705_NX_1NC7/\nhttps://www.webpagetest.org/lighthouse.php?test=180705_NX_1NC7\n/home/wptresults/wpt-london.London_EC2.chrome.cable.050718-223146.log\nWaiting behind 5 other tests...\nWaiting behind 5 other tests... (101)\nwaiting on results...\nWaiting behind 3 other tests...\nWaiting behind 3 other tests... (101)\nwaiting on results...\nWaiting at the front of the queue...\nWaiting at the front of the queue... (101)\nwaiting on results...\nTest Started 21 seconds ago\nTest Started 21 seconds ago (100)\nwaiting on results...\nTest Complete\nTest Complete (200)\nwaiting on results...\nTest Complete\nTest Complete (200)\n----\nfirstPaint 1350 \nloadTime 1375 \ndomInteractive 1089 \nfullyLoaded 2768 \nrequests 28 \nTTFB 812 \ndomElements 1978 \nvisualComplete 2500 \nrender 1300 \nSpeedIndex 1374 \nvisualComplete85 1300 \nvisualComplete90 1300 \nvisualComplete95 2300 \nvisualComplete99 2500 \nchromeUserTiming.domInteractive 1088 \nchromeUserTiming.firstPaint 1350 \nchromeUserTiming.firstContentfulPaint 1350 \nchromeUserTiming.domComplete 1375 \nchromeUserTiming.firstMeaningfulPaint 1449 \nchromeUserTiming.firstMeaningfulPaintCandidate 1449 \nlighthouse.Performance.first-contentful-paint 2296 \nlighthouse.Performance.estimated-input-latency 20 \nlighthouse.Performance.speed-index 2553 \nlighthouse.Performance.first-meaningful-paint 2733 \nlighthouse.Performance.first-cpu-idle 3669 \nhttps://www.webpagetest.org/results/18/07/05/NX/1NC7/1_waterfall.png\nok----\n--------------------------------------------------------------------------------\n```\n\n### WebpageTest.org Slack Channel\n\nDulles Motorla G4 3G test\n\n![](/images/wpt-dulles-3g-slack-01.png)\n\nDulles test\n\n![](/images/wpt-dulles-slack-01.png)\n\nCalifornia test\n\n![](/images/wpt-california-slack-01.png)\n\nFrankfurt test\n\n![](/images/wpt-frankfurt-slack-01.png)\n\nSingapore test\n\n![](/images/wpt-singapore-slack-01.png)\n\nSydney test\n\n![](/images/wpt-sydney-slack-01.png)\n\n### WebpageTest.org Google Lighthouse\n\nAs at July 5, 2018 Google Lighthouse reports are enabled by default via `WPT_LIGHTHOUSE='y` variable which you can disable by setting `WPT_LIGHTHOUSE='n` in `/root/tools/google-insights-api-tools/gitools.ini`\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com\n\n--------------------------------------------------------------------------------\nDulles:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180704_M6_1dc3d8b3c9e13e620146cb06b2fe9124\nhttps://www.webpagetest.org/result/180704_M6_1dc3d8b3c9e13e620146cb06b2fe9124/\nhttps://www.webpagetest.org/lighthouse.php?test=180704_M6_1dc3d8b3c9e13e620146cb06b2fe9124\n/home/wptresults/wpt-dulles.chrome.cable.040718-234013.log\nTest Started 29 seconds ago\nTest Started 29 seconds ago (100)\nwaiting on results...\nTest Complete\nTest Complete (200)\nwaiting on results...\nTest Complete\nTest Complete (200)\n----\nfirstPaint 899 \nloadTime 1115 \ndomInteractive 1094 \nfullyLoaded 2504 \nrequests 25 \nTTFB 402 \ndomElements 1979 \nvisualComplete 1900 \nrender 1000 \nSpeedIndex 1023 \nvisualComplete85 1000 \nvisualComplete90 1000 \nvisualComplete95 1200 \nvisualComplete99 1200 \nchromeUserTiming.firstPaint 899 \nchromeUserTiming.firstContentfulPaint 899 \nchromeUserTiming.firstMeaningfulPaintCandidate 1032 \nchromeUserTiming.firstMeaningfulPaint 1032 \nchromeUserTiming.domInteractive 1094 \nchromeUserTiming.domComplete 1114 \nlighthouse.Performance.first-contentful-paint 1840 \nlighthouse.Performance.estimated-input-latency 41 \nlighthouse.Performance.speed-index 2089 \nlighthouse.Performance.first-meaningful-paint 2179 \nlighthouse.Performance.first-cpu-idle 4157 \nok----\n--------------------------------------------------------------------------------\n\n```\n\nDulles test with Google Lighthouse report\n\n![](/images/wpt-dulles-slack-lighthouse-01.png)\n\n### WebpageTest.org Command Line Options\n\n\n#### WPT Regions\n\nYou can also pass the WebpageTets.org test region name on the command line for the following regions\n\nDulles Galaxy S7 3G test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dulles-s7-3g\n```\n\nDulles Motorola G4 3G test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dulles-3g\n```\n\nDulles test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dulles\n```\n\nDulles Thinkpad test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dulles-thinkpad\n```\n\nCalifornia test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com california\n```\n\nFrankfurt test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com frankfurt\n```\n\nSingapore test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com singapore\n```\n\nSydney test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com sydney\n```\n\nDallas test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dallas\n```\n\nLondon test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com london\n```\n\nTokyo test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com tokyo\n```\n\nHong Kong test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com hongkong\n```\n\nMumbia test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com mumbia\n```\n\nBrazil test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com brazil\n```\n\n##### WPT Speed Profiles\n\nYou can also pass the speed profile for your tests now - supported options are `cable`, `3g`, `3gfast`, `4g`, `lte` and `fios` on the command line for the following regions\n\nDulles test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dulles cable\n./gitools.sh wpt https://community.centminmod.com dulles-thinkpad cable\n./gitools.sh wpt https://community.centminmod.com dulles 3g\n./gitools.sh wpt https://community.centminmod.com dulles 3gfast\n./gitools.sh wpt https://community.centminmod.com dulles 4g\n./gitools.sh wpt https://community.centminmod.com dulles lte\n./gitools.sh wpt https://community.centminmod.com dulles fios\n```\n\nCalifornia test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com california cable\n./gitools.sh wpt https://community.centminmod.com california 3g\n./gitools.sh wpt https://community.centminmod.com california 3gfast\n./gitools.sh wpt https://community.centminmod.com california 4g\n./gitools.sh wpt https://community.centminmod.com california lte\n./gitools.sh wpt https://community.centminmod.com california fios\n```\n\nFrankfurt test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com frankfurt cable\n./gitools.sh wpt https://community.centminmod.com frankfurt 3g\n./gitools.sh wpt https://community.centminmod.com frankfurt 3gfast\n./gitools.sh wpt https://community.centminmod.com frankfurt 4g\n./gitools.sh wpt https://community.centminmod.com frankfurt lte\n./gitools.sh wpt https://community.centminmod.com frankfurt fios\n```\n\nSingapore test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com singapore cable\n./gitools.sh wpt https://community.centminmod.com singapore 3g\n./gitools.sh wpt https://community.centminmod.com singapore 3gfast\n./gitools.sh wpt https://community.centminmod.com singapore 4g\n./gitools.sh wpt https://community.centminmod.com singapore lte\n./gitools.sh wpt https://community.centminmod.com singapore fios\n```\n\nSydney test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com sydney cable\n./gitools.sh wpt https://community.centminmod.com sydney 3g\n./gitools.sh wpt https://community.centminmod.com sydney 3gfast\n./gitools.sh wpt https://community.centminmod.com sydney 4g\n./gitools.sh wpt https://community.centminmod.com sydney lte\n./gitools.sh wpt https://community.centminmod.com sydney fios\n```\n\nDallas test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dallas cable\n./gitools.sh wpt https://community.centminmod.com dallas 3g\n./gitools.sh wpt https://community.centminmod.com dallas 3gfast\n./gitools.sh wpt https://community.centminmod.com dallas 4g\n./gitools.sh wpt https://community.centminmod.com dallas lte\n./gitools.sh wpt https://community.centminmod.com dallas fios\n```\n\nLondon test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com london cable\n./gitools.sh wpt https://community.centminmod.com london 3g\n./gitools.sh wpt https://community.centminmod.com london 3gfast\n./gitools.sh wpt https://community.centminmod.com london 4g\n./gitools.sh wpt https://community.centminmod.com london lte\n./gitools.sh wpt https://community.centminmod.com london fios\n```\n\nTokyo test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com tokyo cable\n./gitools.sh wpt https://community.centminmod.com tokyo 3g\n./gitools.sh wpt https://community.centminmod.com tokyo 3gfast\n./gitools.sh wpt https://community.centminmod.com tokyo 4g\n./gitools.sh wpt https://community.centminmod.com tokyo lte\n./gitools.sh wpt https://community.centminmod.com tokyo fios\n```\n\nHong Kong test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com hongkong cable\n./gitools.sh wpt https://community.centminmod.com hongkong 3g\n./gitools.sh wpt https://community.centminmod.com hongkong 3gfast\n./gitools.sh wpt https://community.centminmod.com hongkong 4g\n./gitools.sh wpt https://community.centminmod.com hongkong lte\n./gitools.sh wpt https://community.centminmod.com hongkong fios\n```\n\nMumbia test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com mumbia cable\n./gitools.sh wpt https://community.centminmod.com mumbia 3g\n./gitools.sh wpt https://community.centminmod.com mumbia 3gfast\n./gitools.sh wpt https://community.centminmod.com mumbia 4g\n./gitools.sh wpt https://community.centminmod.com mumbia lte\n./gitools.sh wpt https://community.centminmod.com mumbia fios\n```\n\nBrazil test\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com brazil cable\n./gitools.sh wpt https://community.centminmod.com brazil 3g\n./gitools.sh wpt https://community.centminmod.com brazil 3gfast\n./gitools.sh wpt https://community.centminmod.com brazil 4g\n./gitools.sh wpt https://community.centminmod.com brazil lte\n./gitools.sh wpt https://community.centminmod.com brazil fios\n```\n\n### WebpageTest.org Waterfall\n\nLatest version now includes the waterfall screenshot image as well\n\n```\ncd /root/tools/google-insights-api-tools\n\n./gitools.sh wpt https://community.centminmod.com dulles\n\n--------------------------------------------------------------------------------\nDulles:Chrome.Cable WPT Results\n--------------------------------------------------------------------------------\nTest ID: 180705_SK_ARW\nhttps://www.webpagetest.org/result/180705_SK_ARW/\nhttps://www.webpagetest.org/lighthouse.php?test=180705_SK_ARW\n/home/wptresults/wpt-dulles.chrome.cable.050718-044704.log\nTest Started 27 seconds ago\nTest Started 27 seconds ago (100)\nwaiting on results...\nTest Complete\nTest Complete (200)\nwaiting on results...\nTest Complete\nTest Complete (200)\n----\nfirstPaint 1235 \nloadTime 1511 \ndomInteractive 1459 \nfullyLoaded 3112 \nrequests 25 \nTTFB 496 \ndomElements 1979 \nvisualComplete 2300 \nrender 1300 \nSpeedIndex 1326 \nvisualComplete85 1300 \nvisualComplete90 1300 \nvisualComplete95 1500 \nvisualComplete99 1500 \nchromeUserTiming.firstPaint 1235 \nchromeUserTiming.firstContentfulPaint 1235 \nchromeUserTiming.domInteractive 1459 \nchromeUserTiming.firstMeaningfulPaintCandidate 1479 \nchromeUserTiming.firstMeaningfulPaint 1479 \nchromeUserTiming.domComplete 1511 \nlighthouse.Performance.first-contentful-paint 1814 \nlighthouse.Performance.estimated-input-latency 38 \nlighthouse.Performance.speed-index 2068 \nlighthouse.Performance.first-meaningful-paint 2176 \nlighthouse.Performance.first-cpu-idle 4164 \nhttps://www.webpagetest.org/results/18/07/05/SK/ARW/1_waterfall.png\nok----\n--------------------------------------------------------------------------------\n```\n\n![](/images/wpt-dulles-slack-waterfall-01.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentminmod%2Fgoogle-insights-api-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcentminmod%2Fgoogle-insights-api-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcentminmod%2Fgoogle-insights-api-tools/lists"}