Skip to content

Instantly share code, notes, and snippets.

View WebCloud's full-sized avatar

Vinicius Dallacqua WebCloud

  • PerfLab
  • Stockholm, Sweden
View GitHub Profile
case "resources/list": {
const sessionFiles = sessionFileStore.getSessionFiles(session.id);
const resources = sessionFiles.map((file) => {
const fileName =
file.file.meta?.filename ||
`${file.file.lang}_file_${file.id.slice(-8)}`;
return {
uri: file.uri,
name: fileName,
/** @type {import('next').NextConfig} */
const nextConfig = {
eslint: {
ignoreDuringBuilds: true,
},
typescript: {
ignoreBuildErrors: true,
},
images: {
unoptimized: true,

INP report based on trace analysis

Your INP value is 285.322 and your score is needs improvement

Interaction to Next Paint (INP) is a crucial metric that measures the overall responsiveness of your page to user interactions. It captures the latency of all clicks, taps, and key presses throughout the page's lifespan and reports the single worst interaction latency. Your current INP score of 285.322 ms falls into the "needs improvement" category, indicating that users may experience noticeable delays when interacting with your page.

Optimizing INP is essential for a smooth and engaging user experience. A high INP often points to a busy main thread that is unable to quickly respond to user input and render the next visual update. This report analyzes the specific interaction that contributed to this score and provides actionable steps to improve it.

Actionable Optimizations

The primary contributor to your INP score is the significant time spent in the processing phase of the interaction. To improve

LCP report based on trace analysis

Your LCP value is 5619.998 and your score is bad

Your Largest Contentful Paint (LCP) is a Core Web Vital that measures the loading performance of your page's main content. A score of 5619.998 ms is considered "bad", indicating that users are waiting too long to see the primary content on your page. The goal is to achieve an LCP of 2.5 seconds or less for a good user experience.

Analyzing the trace data helps pinpoint the specific reasons behind this slow LCP. The breakdown of the LCP time reveals that the delay is primarily caused by the time it takes for the browser to start loading the LCP image, rather than the server response or the image download itself.

Actionable Optimizations

The primary bottleneck identified in the trace data is the significant delay before the Largest Contentful Paint image begins loading. To improve your LCP score, focus on ensuring the LCP image is discovered and prioritized for loading as early as possible during the page load proc

LCP report based on trace analysis

Your LCP value is 5619.998 and your score is bad

Your Largest Contentful Paint (LCP) is a Core Web Vital that measures the loading performance of your page's main content. A score of 5619.998 ms is considered "bad", indicating that users are waiting too long to see the primary content on your page. The goal is to achieve an LCP of 2.5 seconds or less for a good user experience.

Analyzing the trace data helps pinpoint the specific reasons behind this slow LCP. The breakdown of the LCP time reveals that the delay is primarily caused by the time it takes for the browser to start loading the LCP image, rather than the server response or the image download itself.

Actionable Optimizations

The primary bottleneck identified in the trace data is the significant delay before the Largest Contentful Paint image begins loading. To improve your LCP score, focus on ensuring the LCP image is discovered and prioritized for loading as early as possible during the page load proc

LCP report based on trace analysis

Your LCP value is 5619.998 and your score is bad

Your Largest Contentful Paint (LCP) is a critical user-centric metric that measures the loading performance of your page by marking the render time of the largest image or text block visible within the viewport. A poor LCP score, like the one observed, indicates that users are waiting a significant amount of time to see the main content of your page, which can negatively impact user experience and engagement.

Analyzing the breakdown of your LCP time reveals that the primary bottleneck is the "Load Delay" of the LCP candidate, which is an image. This suggests that while the image itself loads quickly once discovered, its discovery or loading was significantly delayed. Optimizing the critical rendering path and ensuring the LCP image is discovered and loaded early are key areas for improvement.

Actionable Optimizations

The main contributor to your poor LCP is the substantial load delay of the largest contentful ima

LCP Performance Analysis Report

Trace URL: https://www.volvocars.com/se/build/xc90-hybrid LCP Candidate Timing: 5619.998ms (5.6 seconds) LCP Candidate Type: image

Summary: The Largest Contentful Paint (LCP) for this page occurs at approximately 5.6 seconds, which is significantly outside the recommended threshold of 2.5 seconds. The primary bottleneck identified in the LCP phase timings is the Load Delay phase, accounting for over 5.5 seconds of the total LCP time. This indicates that the browser knew what the LCP image was relatively early (low TTFB), but was heavily delayed in starting to fetch it.

LCP Candidate Phase Timings Breakdown:

@WebCloud
WebCloud / may_newsletter.html
Created May 9, 2025 07:04
PerfAgent - NEWSLETTER May 2025
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html dir="ltr" lang="en">
<head>
<link rel="preload" as="image" href="https://yn20j37lsyu3f9lc.public.blob.vercel-storage.com/newsletter/hero_images/hero10-taJvUCnqp9iW0762iFFqNBlmDijgOp.jpg" />
<link rel="preload" as="image" href="https://yn20j37lsyu3f9lc.public.blob.vercel-storage.com/newsletter/hero_images/hero7-xpRpL1p7QKoUqUFdhiCTJwNLV13A0c.jpg" />
<link rel="preload" as="image" href="https://yn20j37lsyu3f9lc.public.blob.vercel-storage.com/newsletter/hero_images/hero6-UQ8uRXzcUGxGO1cGFqaStqtCC2ZdrO.jpg" />
<link rel="preload" as="image" href="https://yn20j37lsyu3f9lc.public.blob.vercel-storage.com/newsletter/hero_images/hero1-8w9G16t8DdxYMLvy9jwuWszxWjS310.jpg" />
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<meta name="x-apple-disable-message-reformatting" />

Trace events analysis

{
\"width\": 600,
\"height\": 400,
\"timeline\": {
\t\"min\": 3375003509,
\t\"max\": 3375288.8310000002,
\t\"range\": 3375288.8310000002
},

Trace events analysis

{
"width": 600,
"height": 400,
"timeline": {
	"min": 3375003509,
	"max": 3375288.8310000002,
	"range": 3375288.8310000002
},