Go to Dev Tools -> Performance Tab ->
Check - Screenshots, No Network Throttling, No CPU Slowdown -> Press "CTRL+SHIFT+E"
It will reload the page, start the recording, profiling and
process the data then displays the results on Performance Panel
Analyze the Results
Analyze frames per second
Users are happy when animations run at 60 FPS.
Look at FPS Chart
If red bar above FPS, it means that the
frame rate dropped so low that it's probably harming the user experience.
The higher the green bar, the higher the FPS.
Also look at Frames while scrolling through Navigations
Look at CPU Chart
The colors in the CPU chart correspond to
the colors in the Summary tab
If CPU chart is full of color means that
the CPU was maxed out during the recording.
If CPU is maxed out for long periods,
it's a cue to find ways to do less work.
Bonus: Frame Rate
In Performance: Press CTRL+SHIFT+P,
Type Rendering, Select Show Rendering
Enable Frame Rendering Stats
This will enable FPS Rate
Finding Bottlenecks
Summary Tab shows breakdown of the activity.
Less time spent on rendering,
Performance is good
Expand Main Section
Flame chart of activity on the main thread, over time.
The x-axis represents the recording,
over time. Each bar represents an event. A wider bar means that event took longer.
The y-axis represents the call stack.
When you see events stacked on top of each other, it means the upper events caused the lower events.
Analyze Runtime Performance
Load Website on Incognito Mode
Go to Dev Tools -> Performance Tab ->
Check - Screenshots, No Network Throttling, No CPU Slowdown -> Press "CTRL+E"
Interact with the page. DevTools records all page activity
that occurs as a result of your interactions.
Stop the Profiling
Memory
Select Checkbox while recording
This will display memory metrics
JS Heap
Documents
NodeJS
Listeners
GPU Memory
Lighthouse
Performance
Analyze the Metrics
Each metric provides insight into a
different aspect of the performance.
First Contentful Paint
Tells when content is first painted to the screen,
which is an important milestone in the user's perception of the page load
Time To Interactive
the point at which the page appears ready
enough to handle user interactions.
Speed Index
how quickly the contents of a page are visibly populated.
Total Blocking Time
Sum of all time periods between FCP and
Time to Interactive, when task length exceeded 50ms
Largest Contentful Paint
marks the time at which the largest text or image is painted
Cumulative Layout Shift
measures the movement of visible elements within the viewport
Opportunities
Enable Text Compression
Text compression is when you reduce,
or compress, the size of a text file before sending it over the network.
Go to Network Tab -> Use Large Request Rows ->
See Size Column -> Size Cell shows two values. Top is size of downloaded resource and Bottom is size of uncompressed resource.
If the two values are the same,
then the resource is not being compressed when it's sent over the network.
Then Click on Resource -> Headers Tab ->
Response Headers -> Content-Encoding. If its not there, resource is not compressed.
Accessibility
A page is properly marked up for screen readers.
The text elements on a page have sufficient contrast ratios.
View ARIA-Attribute in Accessibility Pane,
as we navigate through Elements Tab
Review the Audit Report for Accessibility
AXE University for additional Information
Track element focus
Navigate to Console -> Click on Create Live Expression ->
document.activeElement
Navigate through the website
This helps while testing the
keyboard navigation accessibility of a page.
Network
Network Log
Network panel logs all network activity in the Network Log.
Status. The HTTP response code.
Type. The resource type.
Initiator. What caused a resource to be requested.
Clicking a link in the Initiator column takes you to the source code that caused the request.
Time. How long the request took.
Initial connection. The browser is establishing a connection,
including TCP handshakes/retries and negotiating an SSL.
Request sent. The request is being sent.
Waiting (TTFB). The browser is waiting for the first byte of a response.
TTFB stands for Time To First Byte. This timing includes 1 round trip of latency and the time the server took to prepare the response.
Content Download. The browser is receiving the response, either directly from the network or from a service worker.
This value is the total amount of time spent reading the response body. Larger than expected values could indicate a slow network, or that the browser is busy performing other work which delays the response from being read.
Waterfall. A graphical representation of the different stages of the request.
Hover over a Waterfall to see a breakdown.
check the Preserve log checkbox on the Network panel.
DevTools saves all requests
To emulate how a first-time user experiences your site, check the Disable cache checkbox.
Storage
Find Issues on website
The Issues tab presents warnings from the browser
in a structured, aggregated, and actionable way.
Issues with Cookies:
Go to Network Tab -> Select the Resource ->
Click on Cookies Option ->
View the Issues in Issues Tab
Security
Shows security overview
Certificate
Connection
Resources
Recorder
More Options More > More tools > Recorder
Record, replay and measure user flows
Media
More Options More > More tools > Media
Player will display
The Properties tab displays the
properties of the media player.
Events tab to view all the
media player events.
Messages tab to view the
media player message logs.
Timeline tab is where you can view the
media playback and buffer status live.
Mobile Simulation
Toogle Device Toolbar
Responsive View Ports
Options
Show Rulers
Show Media Queries
Show Device Frame
Network Throttling
Geo Location
JS App? Check how app works
Go to Dev Tools -> CTRL+SHIFT+P -> Disable Javascript
Go to Dev Tools -> CTRL+SHIFT+P -> Enable Javascript