Webdev:Cesium:Beacons

From MozillaWiki
Jump to: navigation, search

Overview

This page is for tracking beacon information from YSlow and PageSpeed. It is intended both as a reference and brainstorming tool.

YSlow Beacon Parameters

  • w – size of the page in bytes (v1 sent size in kilobytes)
  • o – overall YSlow grade calculated for the profile used
  • u – URL of the page tested
  • r – total amount of requests with empty cache
  • s – page identifier for yahoo pages (like yahoo music, sports, etc), blank on non-yahoo pages
  • i – testing profile used:
    • ydefault – YSlow (V2)
    • yslow1 – Classic (V1)
    • yblog – Small Site or Blog
    • or custom profile’s title with dash-encoded spaces
  • ynumreq – Make fewer HTTP requests
  • ycdn – Use a Content Delivery Network (CDN)
  • yexpires – Add Expires headers
  • ycompress – Compress components with gzip
  • ycsstop – Put CSS at top
  • yjsbottom – Put JavaScript at bottom
  • yexpressions – Avoid CSS expressions
  • yexternal – Make JavaScript and CSS external
  • ydns – Reduce DNS lookups
  • yminify – Minify JavaScript and CSS
  • yredirects – Avoid URL redirects
  • ydupes – Remove duplicate JavaScript and CSS
  • yetags – Configure entity tags (ETags)
  • yxhr – Make AJAX cacheable
  • yxhrmethod – Use GET for AJAX requests
  • ymindom – Reduce the number of DOM elements
  • yno404 – Avoid HTTP 404 (Not Found) error
  • ymincookie – Reduce cookie size
  • ycookiefree – Use cookie-free domains
  • ynofilter – Avoid AlphaImageLoader filter
  • yimgnoscale – Do not scale images in HTML
  • yfavicon – Make favicon small and cacheable

PageSpeed Beacon Parameters

Currently, Page Speed does not support beacons, but starting v1.2 it will, see more info below.

Future Beacon Parameters

A future goal is to have YSlow and PageSpeed beacon detailed information about a page's performance. This can be in addition to a normal GET request. The URL parameters can have basic information while a larger response in the POST body can contain detailed statistics regarding a page's assets and score.

YSlow 2.0.1

Starting with v2.0.1, besides the existing beacon preference: beaconUrl and optinBeacon, a new preference will be added to control the information to be included in the beacon.

Preference Name: beaconInfo Possible values: "basic", "all", "grade", "stats", "comps" or a comma separated list of "grade", "stats" and "comps".

Default value of the preference is basic. The YSlow beacon will be sent with HTTP GET. This is for backward compatibility.

For all other values, the beacon will be sent by HTTP POST.

New beacon parameters:

  • lt - Page load time (basic)
  • g - json tree of the resultset (scores of all rules in the ruleset) (grade)
  • w_c - page weight with primed cache (stats)
  • r_c - number of requests with primed cache (stats)
  • stats - json tree of stats, e.g.
    {"doc": { "r": 1, "w": 36.1 }, "js": {"r": 3, "w": 29.0 }
    (stats)
  • stats_c - json tree of stats with primed cache (stats)
  • comps - json tree of comps, e.g.
    {"doc": { "url": url, "w": size, "gzip": 36.1, "cr": 320, "cs": 971,"expires": "2009/10/11", "response": 537, "etag": "xxx-xx"}}
    (comps)

Example beacon

PageSpeed 1.2

Starting with v1.2, Google PageSpeed will start supporting beacons. You can see documentation in progress here: http://code.google.com/p/page-speed/wiki/BeaconDocs

And original bug used for tracking this feature here: http://code.google.com/p/page-speed/issues/detail?id=58