You are browsing a read-only backup copy of Wikitech. The live site can be found at wikitech.wikimedia.org
Performance/Metrics
This page documents metrics from Performance Team services. Currently in Graphite.
Deployment and monitoring
See Performance/Runbook/Webperf services for the internal details of these services, such as where the metrics originate, and how they are processed/aggregated.
The navtiming-2 metrics are available in Graphite under the frontend.navtiming2
prefix.
Offsets
responseStart
: From PerformanceTiming, relative to fetchStart.firstPaint
: (non-standard)domInteractive
: From PerformanceTiming, relative to fetchStart.domComplete
: From PerformanceTiming, relative to fetchStart.loadEventStart
: From PerformanceTiming, relative to fetchStart.loadEventEnd
: From PerformanceTiming, relative to fetchStart. Also known as "Page load end" or "Total page load time". This typically corresponds with the browser's native page loading indicator.
Deltas
dns
: Computed client-side from PerformanceTimingdomainLookupEnd - domainLookupStart
. (Transmitted as "dnsLookup")unload
: Computed client-side from PerformanceTimingunloadEventEnd - unloadEventStart
.redirect
: Computed client-side from PerformanceTimingredirectEnd - redirectStart
. (Transmitted as "redirecting").mediaWikiLoad
: Computed client-side based on custom mwLoadEnd and mwLoadStart measures. (Transmitted as "mediaWikiLoadComplete").tcp
: Computed server-side asconnectEnd - connectStart
. This includes SSL negotiation.request
: Computed server-side asresponseStart - requestStart
.response
: Computed server-side asresponseEnd - responseStart
.processing
: Computed server-side asdomComplete - responseEnd
.onLoad
: Computed server-side asloadEventEnd - loadEventStart
.ssl
: Computed server-side asconnectEnd - secureConnectionStart
. This is a subset oftcp
.
Notable differences:
- Offsets are computed relative to fetchStart instead of navigationStart.
- We no longer filter out zero values.
- The sanity filter no longer has an upper bound.
- When the sanity filter encounters negative numbers, it rejects the entire event instead of just the individual data point.
See phab:T104902 for more information about why the metrics were redefined.
SaveTiming metrics
SaveTiming get reported to mw.performance.save
in statsd. To see if it's running properly, the mw.performance.save.sample_rate
key should have hits.
Synthetic metrics
The synthetic metrics are collected using VisualMetrics analyzing a video recording of the screen when the page is loading.
WebPageTest
The WebPageTest metrics are available in Graphite under the webpagetest
prefix.
Visual Metrics
render
: The time when something for the first time is painted within the viewport.BackgroundImage
: The time when the largest background image is painted at its final position within the viewport.Heading
: The time when the first h1/h2 heading is painted at its final position within the viewport.LargestImage
:The time when the largest image is painted at its final position within the viewport.SpeedIndex
:The Speed Index is the average time at which visible parts of the page are displayed. It is expressed in milliseconds and dependent on size of the view port.lastVisualChange
:The time when the last paint happens within the viewport.VisualComplete85
::The time when 85% of the content within the viewport is paintedVisualComplete95
:The time when 95% of the content within the viewport is painted.VisualComplete99
:The time when 99% of the content within the viewport is painted.
Other timing metrics
fullyLoaded
:The time all requests on the page has finished loading.TTFB
: The time to first byte delivered from the server.domComplete
: domComplete from the Navigation Timing APi.
Size and requests
WebPageTest also collects the number of bytes/request per type. Add .bytes
or .requests
to the type to get that information.
html
css
js
flash
font
video
image
total
: The total amount of bytes/requests for the tested page.
CPU times
These metrics are Chrome only.
Idle
:Time spent being idle.Layout
:Time spent rendering the screenPainting
: Time spent in painting the screen.Scripting
:Time spent running JavaScriptLoading
:Time spent in loading assets.
Visual Metrics
render
: The time when something for the first time is painted within the viewport.BackgroundImage
: The time when the largest background image is painted at its final position within the viewport.Heading
: The time when the first h1/h2 heading is painted at its final position within the viewport.LargestImage
:The time when the largest image is painted at its final position within the viewport.SpeedIndex
:The Speed Index is the average time at which visible parts of the page are displayed. It is expressed in milliseconds and dependent on size of the view port.lastVisualChange
:The time when the last paint happens within the viewport.VisualComplete85
::The time when 85% of the content within the viewport is painted.VisualComplete95
:The time when 95% of the content within the viewport is painted.VisualComplete99
:The time when 99% of the content within the viewport is painted.
Other timing metrics
fullyLoaded
:The time all requests on the page has finished loading.TTFB
: The time to first byte delivered from the server.domComplete
: domComplete from the Navigation Timing APi.
Size and requests
WebPageTest also collects the number of bytes/request per type. Add .bytes
or .requests
to the type to get that information.
html
css
js
flash
font
video
image
total
: The total amount of bytes/requests for the tested page.
CPU times
These metrics are Chrome only.
Idle
:Time spent being idle.Layout
:Time spent rendering the screen.Painting
: Time spent in painting the screen.Scripting
:Time spent running JavaScript.Loading
:Time spent in loading assets.
WebPageReplay
The WebPageReplay metrics are available in Graphite under the browsertime
prefix (it's Browsertime that collect the metrics).
At the moment we collect Visual Metrics and CPU metrics (Chrome only).
Visual Metrics
FirstVisualChange
:The time when something for the first time is painted within the viewport.Heading
: The time when the first h1 heading is painted at its final position within the viewport.LargestImage
: The time when the largest image is painted at its final position within the viewport.Logo
: The time when the logo is painted within the viewport.CentralNotice
: The time when the central notice banned is painted at its final position within the viewport.VisualComplete85
:The time when 85% of the content within the viewport is painted.VisualComplete95
:The time when 95% of the content within the viewport is painted.VisualComplete99
:The time when 99% of the content within the viewport is painted.LastVisualChange
:The time when the last paint happens within the viewport.SpeedIndex
: The Speed Index is the average time at which visible parts of the page are displayed. It is expressed in milliseconds and dependent on size of the view port.PerceptualSpeedIndex
: The Perceptual Speed Index is sensitive to page elements moving around (that is not Speed Index). For example if a campaign/banner pushes the elements, that will have bigger impact on the perceptual metric.
CPU metrics
Scripting
: Time spent running JavaScript.Painting
: Time spent in painting the screen.Rendering
: Time spent rendering the screen.Loading
: Time spent in loading assets.