Metrics

Sergey Chernyshev edited this page Mar 6, 2016 · 1 revision

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.

Table of Contents

Page Speed

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

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

WebPageTest

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

dynaTrace AJAX Edition

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

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