- Prepared by Srinivas Kadiyala
-
Performance
-
Analyze Load Performance
- Load Website on Incognito Mode
- 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
-
Check Version of Chrome
- chrome://help