-
Notifications
You must be signed in to change notification settings - Fork 60
Metrics
This page catalogs full list of metrics supported by Show Slow.
Each section lists metrics reported by particular tool and various variables (e.g. URL parameter names).
Most of this information is replicated in global.php $all_metrics
array and drives graphs and lists of metrics on details page.
Google Page Speed can send data (from export menu) and can be embedded within the apps (e.g. har_to_pagespeed).
Beacon documentation is available on Page Speed's wiki.
Metric name | URL parameter name | Old name (used in previous versions) | Page Speed SDK rule name | Implementation file (for reference) |
---|---|---|---|---|
Page size | w | |||
Overall grade | o | |||
Page load time | l | |||
Total Requests | r | |||
Transfer size of all resources | t | |||
Avoid bad requests | pBadReqs | pAvoidBadRequests | AvoidBadRequests | avoid_bad_requests.cc |
Avoid a character set in the meta tag | AvoidCharsetInMetaTag | avoid_charset_in_meta_tag.cc | ||
Reduce request serialization | AvoidExcessSerialization | avoid_excess_serialization.cc | ||
Avoid long-running scripts | AvoidLongRunningScripts | avoid_long_running_scripts.cc | ||
Eliminate unnecessary reflows | EliminateUnnecessaryReflows | eliminate_unnecessary_reflows.cc | ||
Inline previews of visible images | InlinePreviewsOfVisibleImages | inline_previews_of_visible_images.cc | ||
Load visible images first | LoadVisibleImagesFirst | load_visible_images_first.cc | ||
Improve server response time | ServerResponseTime | server_response_time.cc | ||
Leverage browser caching | pBrowserCache | pLeverageBrowserCaching | LeverageBrowserCaching | leverage_browser_caching.cc |
Leverage proxy caching | pCacheValid | pProxyCache, pSpecifyACacheValidator | SpecifyACacheValidator | specify_a_cache_validator.cc |
Specify a character set early | pCharsetEarly | pSpecifyCharsetEarly | SpecifyCharsetEarly | specify_charset_early.cc |
Combine external CSS | pCombineCSS | CombineExternalCSS | combine_external_resources.cc | |
Combine external JavaScript | pCombineJS | CombineExternalJavaScript | combine_external_resources.cc | |
Avoid CSS @import | pCssImport | AvoidCssImport | avoid_css_import.cc | |
Put CSS in the document head | pCssInHead | pPutCssInTheDocumentHead | PutCssInTheDocumentHead | put_css_in_the_document_head.cc |
Optimize the order of styles and scripts | pCssJsOrder | pOptimizeTheOrderOfStylesAndScripts | OptimizeTheOrderOfStylesAndScripts | optimize_the_order_of_styles_and_scripts.cc |
Use efficient CSS selectors | pCssSelect | |||
Defer loading of JavaScript | pDeferJS | |||
Serve resources from a consistent URL | pDupeRsrc | ServeResourcesFromAConsistentUrl | ||
Enable compression | pGzip | EnableGzipCompression | ||
Specify image dimensions | pImgDims | pSpecifyImageDimensions | SpecifyImageDimensions | |
Minimize DNS lookups | pMinDns | MinimizeDnsLookups | ||
Minify CSS | pMinifyCSS | MinifyCss | ||
Minify HTML | pMinifyHTML | MinifyHTML | ||
Minify JavaScript | pMinifyJS | MinifyJavaScript | ||
Minimize redirects | pMinRedirect | MinimizeRedirects | ||
Minimize request size | pMinReqSize | pMinimizeRequestSize | MinimizeRequestSize | |
Serve static content from a cookieless domain | pNoCookie | pServeStaticContentFromACookielessDomain | ServeStaticContentFromACookielessDomain | |
Optimize images | pOptImgs | OptimizeImages | ||
Parallelize downloads across hostnames | pParallelDl | pParallelizeDownloadsAcrossHostnames | ParallelizeDownloadsAcrossHostnames | |
Prefer asynchronous resources | pPreferAsync | PreferAsyncResources | ||
Remove query strings from static resources | pRemoveQuery | pRemoveQueryStringsFromStaticResources | RemoveQueryStringsFromStaticResources | |
Serve scaled images | pScaleImgs | pServeScaledImages | ServeScaledImages | |
Combine images using CSS sprites | pSprite | SpriteImages | ||
Remove unused CSS | pUnusedCSS | |||
Specify a Vary: Accept-Encoding header | pVaryAE | pSpecifyAVaryAcceptEncodingHeader | SpecifyAVaryAcceptEncodingHeader | |
Defer parsing of JavaScript | pDeferParsingJavaScript | DeferParsingJavaScript | ||
Enable Keep-Alive | pEnableKeepAlive | EnableKeepAlive | ||
Inline Small CSS | pInlineCSS | InlineSmallCss | inline_small_resources.cc | |
Inline Small JavaScript | pInlineJS | InlineSmallJavaScript | inline_small_resources.cc | |
Make landing page redirects cacheable | pMakeLandingPageRedirectsCacheable | MakeLandingPageRedirectsCacheable | make_landing_page_redirects_cacheable.cc | |
[DEPRECATED] Avoid document.write | pDocWrite | AvoidDocumentWrite |
YSlow's beacon is documented here
Rules list can be seen in source code: rules.js
Overall grade is calculated based on a weight matrix documented on YSlow site.
Some (relatively old) info is also available on our blog here.
ShowSlow uses "grades" type of beacon which sends beacons of intermediate size/detail.
Metric name | Parameter name (JSON array key) |
---|---|
Overall rank | o |
Page Size | w |
Amount of requests with empty cache | r |
Page Load time | lt |
Make fewer HTTP requests | ynumreq |
Use a Content Delivery Network (CDN) | ycdn |
Add Expires headers | yexpires |
Avoid Empty Image src | yemptysrc |
Compress components with gzip | ycompress |
Put CSS at top | ycsstop |
Put JavaScript at bottom | yjsbottom |
Avoid CSS expressions | yexpressions |
Make JavaScript and CSS external | yexternal |
Reduce DNS lookups | ydns |
Minify JavaScript and CSS | yminify |
Avoid URL redirects | yredirects |
Remove duplicate JavaScript and CSS | ydupes |
Configure entity tags (ETags) | yetags |
Make AJAX cacheable | yxhr |
Use GET for AJAX requests | yxhrmethod |
Reduce the number of DOM elements | ymindom |
Avoid HTTP 404 (Not Found) error | yno404 |
Reduce cookie size | ymincookie |
Use cookie-free domains | ycookiefree |
Avoid AlphaImageLoader filter | ynofilter |
Do not scale images in HTML | yimgnoscale |
Make favicon small and cacheable | yfavicon |
Metrics are tracked for first and repeat views and are prefixed with 'f_' or 'r_'.
Name | Variable name (f_ / r_) |
---|---|
Load Time | f_LoadTime |
Time to first byte | f_TTFB |
Time to first render | f_render |
Above the fold time | f_aft |
Number of DOM elements | f_domElements |
Number of connections | f_connections |
Document Complete | |
Load Time | f_docTime |
Number of requests | f_requestsDoc |
Bytes In | f_bytesInDoc |
Fully Loaded | |
Load Time | f_fullyLoaded |
Number of requests | f_requests |
Bytes In | f_bytesIn |
Rankings Scores | |
Persistent connections (keep-alive) | f_score_keep_alive |
GZIP text | f_score_gzip |
Total size of compressible text | f_gzip_total |
Potential text compression savings | f_gzip_savings |
Compress Images | f_score_compress |
Total size of compressible images | f_image_total |
Potential image compression savings | f_image_savings |
Cache Static | f_score_cache |
Combine CSS/JS | r_score_combine |
Use a CDN | f_score_cdn |
Minify JavaScript | f_score_minify |
Total size of minifiable text | f_minify_total |
Potential text minification savings | f_minify_savings |
No cookies for static assets | f_score_cookies |
No Etags | f_score_etags |
Metric name | Parameter name (in JSON array) |
---|---|
Time to first impression | timetoimpression |
Time to onLoad | timetoonload |
Time to full page load | timetofullload |
Total time on network | timeonnetwork |
Total time in JavaScript | timeinjs |
Total time in rendering | timeinrendering |
Number of requests | reqnumber |
Number of XHR requests | xhrnumber |
Total page size | pagesize |
Total cachable size | cachablesize |
Total non-cachable size | noncachablesize |
Overall rank | rank |
Caching rank | cache |
Network rank | net |
Server rank | server |
JavaScript rank | js |
DOM Monster is a bookmarklet developed by Thomas Fuchs and measures a few browser-centric metrics (vs. network-centric).
Metric name | Post parameter name |
---|---|
Number of elements | elements |
Number of DOM nodes | nodecount |
Number of Text nodes | textnodes |
Size of Text nodes | textnodessize |
Content percentage | contentpercent |
Average nesting depth | average |
Serialized DOM size | domsize |
DOM tree serialization time | bodycount |