Tested 2024-11-07 19:41:13 using Chrome 130.0.6723.31 (runtime settings).
| Metric | Value |
|---|---|
| Page metrics | |
| Performance score | 98 |
| Total page size | 216.7 KB |
| Requests | 15 |
| Timing metrics | |
| TTFB | 92 ms |
| First Paint | 294 ms |
| Fully Loaded | 518 ms |
| Google Web Vitals | |
| TTFB | 92 ms |
| First Contentful Paint (FCP) | 294 ms |
| Largest Contentful Paint (LCP) | 349 ms |
| Cumulative Layout Shift (CLS) | 0.00 |
| Visual Metrics | |
| First Visual Change | 300 ms |
| Speed Index | 355 ms |
| Visual Complete 85% | 366 ms |
| Visual Complete 99% | 400 ms |
| Last Visual Change | 400 ms |
Use--filmstrip.showAll to show all filmstrips.
The coach helps you find performance problems on your web page using web performance best practice rules. And gives you advice on privacy and best practices. Tested using Coach-core version 8.0.2.
| Title | Advice | Score | ||||||
|---|---|---|---|---|---|---|---|---|
| Don't scale images in the browser (avoidScalingImages) | The page has 1 image that are scaled more than 100 pixels. It would be better if those images are sent so the browser don't need to scale them. | 90 | ||||||
| Description: It's easy to scale images in the browser and make sure they look good in different devices, however that is bad for performance! Scaling images in the browser takes extra CPU time and will hurt performance on mobile. And the user will download extra kilobytes (sometimes megabytes) of data that could be avoided. Don't do that, make sure you create multiple version of the same image server-side and serve the appropriate one. | ||||||||
| Offenders: | ||||||||
| Avoid extra requests by setting cache headers (cacheHeaders) | The page has 1 request that are missing a cache time. Configure a cache time so the browser doesn't need to download them every time. It will save 540 B the next access. | 90 | ||||||
| Description: The easiest way to make your page fast is to avoid doing requests to the server. Setting a cache header on your server response will tell the browser that it doesn't need to download the asset again during the configured cache time! Always try to set a cache time if the content doesn't change for every request. | ||||||||
| Offenders: | ||||||||
| Avoid too many fonts (fewFonts) | The page has 3 font requests. Do you really need them? What value does the fonts give the user? | 70 | ||||||
| Description: How many fonts do you need on a page for the user to get the message? Fonts can slow down the rendering of content, try to avoid loading too many of them because worst case it can make the text invisible until they are loaded (FOIT—flash of invisible text), best case they will flicker the text content when they arrive. | ||||||||
| Offenders: | ||||||||
| Avoid using incorrect mime types (mimeTypes) | The page has 2 misconfigured mime types. | 98 | ||||||
| Description: It's not a great idea to let browsers guess content types (content sniffing), in some cases it can actually be a security risk. | ||||||||
| Offenders: | ||||||||
| Make each CSS response small (optimalCssSize) | https://www.pagerduty.com/wp-content/themes/citizens-band/css/app3.css?ver=4a7f77ad876c6ab54228ca76dffac5a5f4f6f989 size is 20.3 kB (20293) and that is bigger than the limit of 14.5 kB. Try to make the CSS files fit into 14.5 KB. | 90 | ||||||
| Description: Make CSS responses small to fit into the magic number TCP window size of 14.5 KB. The browser can then download the CSS faster and that will make the page start rendering earlier. | ||||||||
Offenders:
| ||||||||
| Title | Advice | Score |
|---|---|---|
| Use a good Content-Security-Policy header to make sure you you avoid Cross Site Scripting (XSS) attacks. (contentSecurityPolicyHeader) | Set a Content-Security-Policy header to make sure you are not open for Cross Site Scripting (XSS) attacks. You can start with setting a Content-Security-Policy-Report-Only header, that will only report the violation, not stop the download. | 0 |
| Description: Content Security Policy is delivered via a HTTP response header, and defines approved sources of content that the browser may load. It can be an effective countermeasure to Cross Site Scripting (XSS) attacks and is also widely supported and usually easily deployed. https://scotthelme.co.uk/content-security-policy-an-introduction/. | ||
| Offenders: | ||
| Set a referrer-policy header to make sure you do not leak user information. (referrerPolicyHeader) | Set a referrer-policy header to make sure you do not leak user information. | 0 |
| Description: Referrer Policy is a new header that allows a site to control how much information the browser includes with navigations away from a document and should be set by all sites. https://scotthelme.co.uk/a-new-security-header-referrer-policy/. | ||
| Offenders: | ||
| Do not share user data with third parties. (thirdPartyPrivacy) | The page has 20% requests that are 3rd party (3 requests with a size of 13.7 kB). The page do 3 utility requests and uses 1 utility tool. | 80 |
| Description: Using third party requests shares user information with that third party. Please avoid that! The project https://github.com/patrickhulce/third-party-web is used to categorize first/third party requests. | ||
| Offenders: | ||
| Page info | |
|---|---|
| Title | PagerDuty | Real-Time Operations | Incident Response | On-Call | PagerDuty |
| Width | 360 |
| Height | 8428 |
| DOM elements | 1993 |
| Avg DOM depth | 10 |
| Max DOM depth | 20 |
| Iframes | 0 |
| Script tags | 10 |
| Local storage | 45 B |
| Session storage | 0 b |
| Network Information API | 4g |
Data collected using Wappalyzerversion 6.10.66.
Use --browsertime.firefox.includeResponseBodies htmlor --browsertime.chrome.includeResponseBodies htmlto help Wappalyser find more information about technologies used.
| Technology | Confidence | Category |
|---|---|---|
| WordPress | 100 | CMS Blogs |
| MySQL | 100 | Databases |
| PHP | 100 | Programming languages |
| Google Cloud | 100 | IaaS |
| Amazon Web Services | 100 | PaaS |
| WP Engine | 100 | PaaS Hosting |
| Google Cloud CDN | 100 | CDN |
| Cloudflare | 100 | CDN |
| Amazon CloudFront | 100 | CDN |
| HTTP/3 | 100 | Miscellaneous |
Data collected using Third Party Web 0.24.0
| Utility |
|---|
| Bugsnag |
| Visual Metrics | |
|---|---|
| First Visual Change | 300 ms |
| Speed Index | 355 ms |
| Visual Complete 85% | 366 ms |
| Visual Complete 95% | 400 ms |
| Visual Complete 99% | 400 ms |
| Last Visual Change | 400 ms |
| Visual Readiness | 100 ms |
| Navigation Timing | |
|---|---|
| backEndTime | 92 ms |
| domContentLoadedTime | 359 ms |
| domInteractiveTime | 353 ms |
| domainLookupTime | 1 ms |
| frontEndTime | 281 ms |
| pageDownloadTime | 18 ms |
| pageLoadTime | 391 ms |
| redirectionTime | 0 ms |
| serverConnectionTime | 19 ms |
| serverResponseTime | 78 ms |
| Google Web Vitals | |
|---|---|
| Time to first byte (TTFB) | 92 ms |
| First Contentful Paint (FCP) | 294 ms |
| Largest Contentful Paint (LCP) | 349 ms |
| Total Blocking Time (TBT) | 0 ms |
| Extra timings | |
|---|---|
| TTFB | 92 ms |
| First Paint | 294 ms |
| Load Event End | 391 ms |
| Fully loaded | 518 ms |
When in time the page main content is rendered (collected using the Largest Contentful Paint API). Read more about Largest Contentful Paint.
| Element type | DIV |
| Element/tag | <div class="col-start-main-start col-end-main-end relative flex flex-col justify-center items-center"></div> |
| Render time | 349 ms |
| Load time | 0 ms |
| Size (width*height) | 29380 |
| DOM path | |
| main > section:eq(0) > div:eq(0) > div:eq(1)> main > section:eq(0) > div:eq(0) > div:eq(1)> | |
No layout shift detected.
Read more about the Long Animation Frames API here here.
The top 10 longest animation frames entries
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 6 ms | 47.2 ms | 8.8 ms | 8.5 ms | 0.3 ms |
| https://www.pagerduty.com/04-home-base-tidy-no-ext-scripts.html | ||||
Forced Style And Layout Duration: 36 ms Invoker: https://www.pagerduty.com/04-home-base-tidy-no-ext-scripts.html | ||||
| Blocking duration | Work duration | Render duration | PreLayout Duration | Style And Layout Duration |
|---|---|---|---|---|
| 0 ms | 170.1 ms | 15.9 ms | 0.1 ms | 15.8 ms |
| No availible script information. | ||||
There are no Server Timings.
There are no custom configured scripts.
There are no custom extra metrics from scripting.
| name | value |
|---|---|
| AudioHandlers | 0 |
| AudioWorkletProcessors | 0 |
| Documents | 6 |
| Frames | 2 |
| JSEventListeners | 503 |
| LayoutObjects | 1034 |
| MediaKeySessions | 0 |
| MediaKeys | 0 |
| Nodes | 5202 |
| Resources | 34 |
| ContextLifecycleStateObservers | 8 |
| V8PerContextDatas | 3 |
| WorkerGlobalScopes | 0 |
| UACSSResources | 0 |
| RTCPeerConnections | 0 |
| ResourceFetchers | 6 |
| AdSubframes | 0 |
| DetachedScriptStates | 2 |
| ArrayBufferContents | 2 |
| LayoutCount | 10 |
| RecalcStyleCount | 12 |
| LayoutDuration | 48 |
| RecalcStyleDuration | 23 |
| DevToolsCommandDuration | 20 |
| ScriptDuration | 16 |
| V8CompileDuration | 0 |
| TaskDuration | 193 |
| TaskOtherDuration | 85 |
| ThreadTime | 0 |
| ProcessTime | 0 |
| JSHeapUsedSize | 2232936 |
| JSHeapTotalSize | 3559424 |
| FirstMeaningfulPaint | 349 |
How the page is built.
| Summary | |
|---|---|
| HTTP version | H3 |
| Total requests | 15 |
| Total domains | 3 |
| Total transfer size | 216.7 KB |
| Total content size | 768.6 KB |
| Responses missing compression | 6 |
| Number of cookies | 0 |
| Third party cookies | 0 |
| Requests per response code | |
|---|---|
| 200 | 14 |
| 202 | 1 |
| URL | Type | Transfer Size | Content Size |
|---|---|---|---|
| https://www.pagerdut...-ext-scripts.html | html | 85.0 KB | 487.1 KB |
| https://www.pagerdut...old-Regular.woff2 | font | 22.7 KB | 22.5 KB |
| https://www.pagerdut...lar-Regular.woff2 | font | 22.5 KB | 22.3 KB |
| https://www.pagerdut...hin-Regular.woff2 | font | 21.8 KB | 21.6 KB |
| https://www.pagerdut...band/css/app3.css | css | 19.8 KB | 111.2 KB |
| https://www.pagerdut...ww-default.min.js | javascript | 13.4 KB | 34.6 KB |
| https://d2wy8f7a9urs...v7/bugsnag.min.js | javascript | 13.2 KB | 43.2 KB |
| https://www.pagerdut...ogos/opscloud.png | image | 12.0 KB | 11.6 KB |
| https://www.pagerdut...igation-v3.min.js | javascript | 2.0 KB | 5.3 KB |
| https://www.pagerdut...e-www-home.min.js | javascript | 1.8 KB | 4.3 KB |
| https://www.pagerdut...ublic/favicon.ico | favicon | 930 B | 3.6 KB |
| https://www.pagerdut...n/public/icon.svg | svg | 831 B | 1.1 KB |
| https://www.pagerdut...ifest.webmanifest | other | 540 B | 304 B |
| https://sessions.bugsnag.com/ | json | 132 B | 21 B |
| https://sessions.bugsnag.com/ | other | 0 b | 0 b |
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 85.0 KB | 487.1 KB | 1 |
| css | 0 b | 19.8 KB | 111.2 KB | 1 |
| javascript | 644 B | 30.5 KB | 87.4 KB | 4 |
| image | 0 b | 12.0 KB | 11.6 KB | 1 |
| font | 0 b | 67.0 KB | 66.4 KB | 3 |
| other | 0 b | 540 B | 304 B | 2 |
| svg | 0 b | 831 B | 1.1 KB | 1 |
| favicon | 0 b | 930 B | 3.6 KB | 1 |
| json | 0 b | 132 B | 21 B | 1 |
| Total | 644 B | 216.7 KB | 768.6 KB | 15 |
| Domain | Total download time | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| www.pagerduty.com | 941 ms | 203.3 KB | 725.4 KB | 12 |
| d2wy8f7a9ursnm.cloudfront.net | 25 ms | 13.2 KB | 43.2 KB | 1 |
| sessions.bugsnag.com | 143 ms | 132 B | 21 B | 2 |
| type | min | median | max |
|---|---|---|---|
| Expires | 0 seconds | 1 year | 10 years |
| Last modified | 6 seconds | 23 weeks | 2 years |
Included requests done after load event end.
| Content | Transfer Size | Requests |
|---|---|---|
| html | 0 b | 0 |
| css | 0 b | 0 |
| javascript | 0 b | 0 |
| image | 0 b | 0 |
| font | 0 b | 0 |
| other | 540 B | 2 |
| svg | 831 B | 1 |
| favicon | 930 B | 1 |
| json | 132 B | 1 |
| Total | 2.4 KB | 5 |
Includes requests done after DOM content loaded.
| Content | Transfer Size | Requests |
|---|---|---|
| html | 0 b | 0 |
| css | 0 b | 0 |
| javascript | 0 b | 0 |
| image | 0 b | 0 |
| font | 0 b | 0 |
| other | 540 B | 2 |
| svg | 831 B | 1 |
| favicon | 930 B | 1 |
| json | 132 B | 1 |
| Total | 2.4 KB | 5 |
Third party requests categorised by Third party web version 0.24.0.
| Category | Requests |
|---|---|
| utility | 3 |
| Category | Number of tools |
|---|---|
| utility | 1 |
| utility (3 requests) |
| Bugsnag |
|
Calculated using .*pagerduty.* (use --firstParty to configure).
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 85.0 KB | 487.1 KB | 1 |
| css | 0 b | 19.8 KB | 111.2 KB | 1 |
| javascript | 0 b | 17.3 KB | 44.2 KB | 3 |
| image | 0 b | 12.0 KB | 11.6 KB | 1 |
| font | 0 b | 67.0 KB | 66.4 KB | 3 |
| other | 0 b | 540 B | 304 B | 1 |
| svg | 0 b | 831 B | 1.1 KB | 1 |
| favicon | 0 b | 930 B | 3.6 KB | 1 |
| Total | N/A | 203.3 KB | 725.4 KB | 12 |
| Content | Header Size | Transfer Size | Content Size | Requests |
|---|---|---|---|---|
| html | 0 b | 0 b | 0 b | 0 |
| css | 0 b | 0 b | 0 b | 0 |
| javascript | 644 B | 13.2 KB | 43.2 KB | 1 |
| image | 0 b | 0 b | 0 b | 0 |
| font | 0 b | 0 b | 0 b | 0 |
| other | 0 b | 0 b | 0 b | 1 |
| json | 0 b | 132 B | 21 B | 1 |
| Total | 642 B | 13.4 KB | 43.2 KB | 3 |

afterPageCompleteCheck.png

layoutShift.png

largestContentfulPaint.png