SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
Date: August 21st 2013
By: Jean-Frédéric Nault
Olivier Fortier
Chrome Dev Tools
Fast Web Development Tools
Performance Analysis Tools
&
Fast Web Develoment Tools
● Elements Inspector
● CSS Inspector
● Javascript Console
● Managing Storage (webSql, IndexedDb, Local/Session Storage, Cookies)
Performance Analysis Tools
● Auditing Tools
● Network activities
● Cpu Usage
● Rendering
● Memory Profiling
Chrome's Development Tool
• CTRL-SHIFT-I to unleash the awesomeness
Elements
Inspect the source of the page
●
Add/edit/delete HTML tags or text
●
Computed style menu → Where do the styles come from for the selected
element?
Styles
●
Enable/disable/add/edit/delete CSS rules
Metric
●
Box model of the element
Elements
Properties
●
Edit/delete HTML tags properties
Event Listeners
●
Visualize event listeners of the page
Resource
Network
●
Loads all the resources used in the page
Status
●
Shows status code (200, 304, 404)
●
Not Modified = Resource is cached
Size
●
Size = Size of the response
●
Content = Size of the resource itself
Time
●
Time = Time for resource to load
●
Latency = Time between initial request and server's first response
Timeline
●
DNS Lookup : Time spent looking up for the website's IP
●
Connecting : Time spent connecting to that server's IP
●
Sending : Time taken to send the request to server
●
Waiting : Time spent waiting for response from server
●
Receiving : Time taken to receive the resource from server
Network
●
Loads all the resources used in the page
●
First element loaded is the document. It shows the initial request and the parsing time
Status
●
Shows status code (200, 304, 404)
●
Not Modified = Resource is cached
Size
●
Size = Size of the response
●
Content = Size of the resource itself
Time
●
Time = Time for resource to load
●
Latency = Time between initial request and server's first response
Network
Timeline
3 colors for timeline elements :
●
Blue : Document
●
Green : CSS
●
Violet : Images
●
Orange : Scripts
Timeline statuses and information
DNS Lookup : Time spent looking up for the website's IP
Connecting : Time spent connecting to that server's IP
Sending : Time taken to send the request to server
Waiting : Time spent waiting for response from server
Receiving : Time taken to receive the resource from server
Notice the blue and red lines
- Blue line shows when Document Ready event is triggered
- Red line shows when Windows.Load event is triggered
Network
Har Format (HTTP Archive 1.2)
Simple Json Schema, Wich contain all the
Metadata for reconstructing the network waterfall
Use Cases :
Attach to a bug report
Online Har viewer :
http://www.softwareishard.com/har/viewer/
Trend Analyser :
httparchive.org
http://www.httparchive.org/trends.php
Regression test :
log
creator
browser
pages
pageTimings
entries
request
response
cookies
headers
queryString
postData
params
content
cache
timings
Data Structure
Sources
●
Basically shows the source code of the page
●
For people who start crying when seeing a minified javascript source, know
that the Pretty Print button might make you smile. Just click here : { }
Performance Analysis Tools
The Timeline
Performance Analysis Tools
The Timeline
Gives you a performance overview
● Memory usage
● Occuring Events
● Rendering
Highlights performance bottlenecks
● Javascript
● Paint time / Reflow
● Etc...
Performance Analysis Tools
The Timeline
● Events (shows all recorded events by event category)
● Frames (shows your page's rendering performance)
● Memory (shows your page's memory usage over time)
Performance Analysis Tools
The Timeline – Events view
● The Blue Line (domContentLoaded)
● The Red Line (Window load event)
● Events categories :
Loading
Script
Rendering
Painting
Performance Analysis Tools
The Timeline – Frame view
It's all about Rendering Performance
60hz = 60 frame per seconde = 1/60 sec = 16.66666 ms
16 ms per frame!!!
Performance Analysis Tools
The Timeline – Frame view
By the way...
RequestAnimationFrame = good
SetTimeOut / interval = bad
http://athousandnodes.com/article/using-requestanimationframe-web-browser-animations-instead-settimeout
Profiles
You can gather different kind of information by selecting different profiles and recording
what's happening on page load.
Collect JavaScript CPU profile
●
Shows where the execution time is spent in your JS functions
Collect CSS Selector profile
●
Shows how long the selector matching has taken in total and how many times a
certain selection has matched Dom element.
Heap Snapshot
●
Inspecting memory usage of a given page at a given time
Performance Analysis Tools
Profile – Heap Snapshot
Object Graph
● Root
● Primary type (boolean,nb,string)
● Object (Key Value)
● Retaining tree
● Distance
● Shallow Size
● Retained Size
Few Terms
Memory leak can
occur, When you keep
a retaining path to a
node by accident
Performance Analysis Tools
Profile – Heap Snapshot
4 Differents Views
Summary
Tracking down specific objects based on their “type” (constructor name), because it
shows objects in memory grouped by their constructor name.
Comparison
This view is the best way to verify that deletion is working properly.
Containment
This view is good for analyzing objects that are referenced in the global namespace…
basically anything you put on the global window variable.
Dominator
This view is a good way to verify that your references are all properly contained (no
unexpected references hanging around), and that deleting things is really working
!!! USE THIS IN INCOGNITO!!!
Audits
The Audits panel analyses page as it loads and provides suggestions and optimizations
to decrease page load time and increase responsiveness.
Provides audits for
●
Network utilization
●
Web page performance
●
Other audits you might want to add
More complete audits using PageSpeed
PageSpeed
●
Free-to-download plugin
●
Much more complete version of the Web Page Performance Analyzer from the
« Audits » tab.
●
Gives you very precise hints on what to do to improve site's performance.
●
Shows actual results of analysis, and sometimes it even does the work of improving
things for you.
●
Minify HTML/CSS/JS → Tells you by how much % you could reduce page size by
compressing/minifying these files.
●
Optimize images → Actually compresses it for you and provides a link to the
optimized image! (Warning : Some compressed image that are provided might have a
huge quality drop, even if it says « lossless compression », so it's still a case by case
process.
To download Page Speed :
https://developers.google.com/speed/pagespeed/insights_extensions
Console
https://developers.google.com/chrome-developer-tools/docs/console
Chrome Devtool in remote !?
/opt/google/chrome/google-chrome --remoteebugging-port=9222 –incognito
TIPS!
For remote access :
ssh -L 0.0.0.0:9223:localhost:9222 localhost -N
Remote Debugging on Android
https://developers.google.com/chrome-developer-tools/docs/remote-debugging
Under the hood
Tracing!
Chrome://memory
Chrome://tracing
Console.time(key)
Console.timeEnd(key)
Devtool Extension

Mais conteúdo relacionado

Mais procurados

Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...
Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...
Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...DevOpsDays Tel Aviv
 
High Performance API Mashups with Node.js and ql.io
High Performance API Mashups with Node.js and ql.ioHigh Performance API Mashups with Node.js and ql.io
High Performance API Mashups with Node.js and ql.ioJonathan LeBlanc
 
Putting the Go in MongoDB: How We Rebuilt The MongoDB Tools in Go
Putting the Go in MongoDB: How We Rebuilt The MongoDB Tools in GoPutting the Go in MongoDB: How We Rebuilt The MongoDB Tools in Go
Putting the Go in MongoDB: How We Rebuilt The MongoDB Tools in GoMongoDB
 
File uploads to s3
File uploads to s3File uploads to s3
File uploads to s3varunlalan
 
OpenStack Log Mining
OpenStack Log MiningOpenStack Log Mining
OpenStack Log MiningJohn Stanford
 
Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...
Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...
Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...Yu-Hsin Hung
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers workNeoito
 
Using server logs to your advantage
Using server logs to your advantageUsing server logs to your advantage
Using server logs to your advantageAlexandra Johnson
 
Log File Analysis: The most powerful tool in your SEO toolkit
Log File Analysis: The most powerful tool in your SEO toolkitLog File Analysis: The most powerful tool in your SEO toolkit
Log File Analysis: The most powerful tool in your SEO toolkitTom Bennet
 
Client Side Optimization
Client Side OptimizationClient Side Optimization
Client Side OptimizationPatrick Huesler
 
CouchDB: replicated data store for distributed proxy server
CouchDB: replicated data store for distributed proxy serverCouchDB: replicated data store for distributed proxy server
CouchDB: replicated data store for distributed proxy servertkramar
 
Elk with Openstack
Elk with OpenstackElk with Openstack
Elk with OpenstackArun prasath
 
Simplify Complex Query with CQRS
Simplify Complex Query with CQRSSimplify Complex Query with CQRS
Simplify Complex Query with CQRSJacky Lai
 
Pracitcal AJAX
Pracitcal AJAXPracitcal AJAX
Pracitcal AJAXjherr
 
Load testing in Zonky with Gatling
Load testing in Zonky with GatlingLoad testing in Zonky with Gatling
Load testing in Zonky with GatlingPetr Vlček
 

Mais procurados (17)

Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...
Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...
Large Scale NoSql DB Migration Under Fire - Ido Barkan - DevOpsDays Tel Aviv ...
 
High Performance API Mashups with Node.js and ql.io
High Performance API Mashups with Node.js and ql.ioHigh Performance API Mashups with Node.js and ql.io
High Performance API Mashups with Node.js and ql.io
 
Putting the Go in MongoDB: How We Rebuilt The MongoDB Tools in Go
Putting the Go in MongoDB: How We Rebuilt The MongoDB Tools in GoPutting the Go in MongoDB: How We Rebuilt The MongoDB Tools in Go
Putting the Go in MongoDB: How We Rebuilt The MongoDB Tools in Go
 
File uploads to s3
File uploads to s3File uploads to s3
File uploads to s3
 
OpenStack Log Mining
OpenStack Log MiningOpenStack Log Mining
OpenStack Log Mining
 
Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...
Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...
Group meeting: Polaris - Faster Page Loads Using Fine-grained Dependency Trac...
 
Neoito — How modern browsers work
Neoito — How modern browsers workNeoito — How modern browsers work
Neoito — How modern browsers work
 
Using server logs to your advantage
Using server logs to your advantageUsing server logs to your advantage
Using server logs to your advantage
 
Log File Analysis: The most powerful tool in your SEO toolkit
Log File Analysis: The most powerful tool in your SEO toolkitLog File Analysis: The most powerful tool in your SEO toolkit
Log File Analysis: The most powerful tool in your SEO toolkit
 
Client Side Optimization
Client Side OptimizationClient Side Optimization
Client Side Optimization
 
CouchDB: replicated data store for distributed proxy server
CouchDB: replicated data store for distributed proxy serverCouchDB: replicated data store for distributed proxy server
CouchDB: replicated data store for distributed proxy server
 
Elk with Openstack
Elk with OpenstackElk with Openstack
Elk with Openstack
 
Server architecture
Server architectureServer architecture
Server architecture
 
Simplify Complex Query with CQRS
Simplify Complex Query with CQRSSimplify Complex Query with CQRS
Simplify Complex Query with CQRS
 
Pracitcal AJAX
Pracitcal AJAXPracitcal AJAX
Pracitcal AJAX
 
Node js crash course session 5
Node js crash course   session 5Node js crash course   session 5
Node js crash course session 5
 
Load testing in Zonky with Gatling
Load testing in Zonky with GatlingLoad testing in Zonky with Gatling
Load testing in Zonky with Gatling
 

Destaque

Tool it up #5 new relic
Tool it up #5   new relicTool it up #5   new relic
Tool it up #5 new relictoolitup
 
DAXOR Corporation The BVA 100
DAXOR Corporation The BVA 100DAXOR Corporation The BVA 100
DAXOR Corporation The BVA 100Phillip Andreason
 
Tool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - XhprofTool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - Xhproftoolitup
 
Tool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQLTool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQLtoolitup
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Destaque (6)

Tool it up #5 new relic
Tool it up #5   new relicTool it up #5   new relic
Tool it up #5 new relic
 
DAXOR Corporation The BVA 100
DAXOR Corporation The BVA 100DAXOR Corporation The BVA 100
DAXOR Corporation The BVA 100
 
Tool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - XhprofTool it Up! - Session #1 - Xhprof
Tool it Up! - Session #1 - Xhprof
 
Tool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQLTool it Up! - Session #3 - MySQL
Tool it Up! - Session #3 - MySQL
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Semelhante a Tool it Up! - Session #2 - NetPanel

Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsNicholas Jansma
 
Monitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windowsMonitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windowsMark Friedman
 
Web performance mercadolibre - ECI 2013
Web performance   mercadolibre - ECI 2013Web performance   mercadolibre - ECI 2013
Web performance mercadolibre - ECI 2013Santiago Aimetta
 
Performance & dev tools
Performance & dev toolsPerformance & dev tools
Performance & dev toolsGuy Yogev
 
Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance” Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance” Dakiry
 
Monitoring web application response times, a new approach
Monitoring web application response times, a new approachMonitoring web application response times, a new approach
Monitoring web application response times, a new approachMark Friedman
 
Web performance optimization - MercadoLibre
Web performance optimization - MercadoLibreWeb performance optimization - MercadoLibre
Web performance optimization - MercadoLibrePablo Moretti
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slowdmethvin
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realAkamai Developers & Admins
 
When Third Parties Stop Being Polite... and Start Getting Real
When Third Parties Stop Being Polite... and Start Getting RealWhen Third Parties Stop Being Polite... and Start Getting Real
When Third Parties Stop Being Polite... and Start Getting RealNicholas Jansma
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?) Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?) SOASTA
 
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Cliff Crocker
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Tammy Everts
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...Agile Testing Alliance
 
Performance anti patterns in ajax applications
Performance anti patterns in ajax applicationsPerformance anti patterns in ajax applications
Performance anti patterns in ajax applicationsSergeyChernyshev
 
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax ApplicationsTSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applicationsguestc75cdc
 
When third parties stop being polite... and start getting real
When third parties stop being polite... and start getting realWhen third parties stop being polite... and start getting real
When third parties stop being polite... and start getting realCharles Vazac
 

Semelhante a Tool it Up! - Session #2 - NetPanel (20)

Using Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web ApplicationsUsing Modern Browser APIs to Improve the Performance of Your Web Applications
Using Modern Browser APIs to Improve the Performance of Your Web Applications
 
Performance on a budget
Performance on a budgetPerformance on a budget
Performance on a budget
 
Monitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windowsMonitoring web application response times^lj a hybrid approach for windows
Monitoring web application response times^lj a hybrid approach for windows
 
Web performance mercadolibre - ECI 2013
Web performance   mercadolibre - ECI 2013Web performance   mercadolibre - ECI 2013
Web performance mercadolibre - ECI 2013
 
Performance & dev tools
Performance & dev toolsPerformance & dev tools
Performance & dev tools
 
Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance” Антон Серпутько “Testing and optimization of client-side performance”
Антон Серпутько “Testing and optimization of client-side performance”
 
Monitoring web application response times, a new approach
Monitoring web application response times, a new approachMonitoring web application response times, a new approach
Monitoring web application response times, a new approach
 
Salesforce Performance hacks - Client Side
Salesforce Performance hacks - Client SideSalesforce Performance hacks - Client Side
Salesforce Performance hacks - Client Side
 
Web performance optimization - MercadoLibre
Web performance optimization - MercadoLibreWeb performance optimization - MercadoLibre
Web performance optimization - MercadoLibre
 
PrairieDevCon 2014 - Web Doesn't Mean Slow
PrairieDevCon 2014 -  Web Doesn't Mean SlowPrairieDevCon 2014 -  Web Doesn't Mean Slow
PrairieDevCon 2014 - Web Doesn't Mean Slow
 
Fluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting realFluent 2018: When third parties stop being polite... and start getting real
Fluent 2018: When third parties stop being polite... and start getting real
 
When Third Parties Stop Being Polite... and Start Getting Real
When Third Parties Stop Being Polite... and Start Getting RealWhen Third Parties Stop Being Polite... and Start Getting Real
When Third Parties Stop Being Polite... and Start Getting Real
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?) Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
 
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
Velocity NYC: Metrics, metrics everywhere (but where the heck do you start?)
 
Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)Metrics, metrics everywhere (but where the heck do you start?)
Metrics, metrics everywhere (but where the heck do you start?)
 
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
ATAGTR2017 Unified APM: The new age performance monitoring for production sys...
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
Performance anti patterns in ajax applications
Performance anti patterns in ajax applicationsPerformance anti patterns in ajax applications
Performance anti patterns in ajax applications
 
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax ApplicationsTSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
TSSJS2010 Presenatation on: Performance Anti Patterns In Ajax Applications
 
When third parties stop being polite... and start getting real
When third parties stop being polite... and start getting realWhen third parties stop being polite... and start getting real
When third parties stop being polite... and start getting real
 

Último

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 

Último (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Tool it Up! - Session #2 - NetPanel

  • 1. Date: August 21st 2013 By: Jean-Frédéric Nault Olivier Fortier
  • 2. Chrome Dev Tools Fast Web Development Tools Performance Analysis Tools &
  • 3. Fast Web Develoment Tools ● Elements Inspector ● CSS Inspector ● Javascript Console ● Managing Storage (webSql, IndexedDb, Local/Session Storage, Cookies)
  • 4. Performance Analysis Tools ● Auditing Tools ● Network activities ● Cpu Usage ● Rendering ● Memory Profiling
  • 5. Chrome's Development Tool • CTRL-SHIFT-I to unleash the awesomeness
  • 6. Elements Inspect the source of the page ● Add/edit/delete HTML tags or text ● Computed style menu → Where do the styles come from for the selected element? Styles ● Enable/disable/add/edit/delete CSS rules Metric ● Box model of the element
  • 7. Elements Properties ● Edit/delete HTML tags properties Event Listeners ● Visualize event listeners of the page
  • 9. Network ● Loads all the resources used in the page Status ● Shows status code (200, 304, 404) ● Not Modified = Resource is cached Size ● Size = Size of the response ● Content = Size of the resource itself Time ● Time = Time for resource to load ● Latency = Time between initial request and server's first response Timeline ● DNS Lookup : Time spent looking up for the website's IP ● Connecting : Time spent connecting to that server's IP ● Sending : Time taken to send the request to server ● Waiting : Time spent waiting for response from server ● Receiving : Time taken to receive the resource from server
  • 10. Network ● Loads all the resources used in the page ● First element loaded is the document. It shows the initial request and the parsing time Status ● Shows status code (200, 304, 404) ● Not Modified = Resource is cached Size ● Size = Size of the response ● Content = Size of the resource itself Time ● Time = Time for resource to load ● Latency = Time between initial request and server's first response
  • 11. Network Timeline 3 colors for timeline elements : ● Blue : Document ● Green : CSS ● Violet : Images ● Orange : Scripts Timeline statuses and information DNS Lookup : Time spent looking up for the website's IP Connecting : Time spent connecting to that server's IP Sending : Time taken to send the request to server Waiting : Time spent waiting for response from server Receiving : Time taken to receive the resource from server Notice the blue and red lines - Blue line shows when Document Ready event is triggered - Red line shows when Windows.Load event is triggered
  • 12. Network Har Format (HTTP Archive 1.2) Simple Json Schema, Wich contain all the Metadata for reconstructing the network waterfall Use Cases : Attach to a bug report Online Har viewer : http://www.softwareishard.com/har/viewer/ Trend Analyser : httparchive.org http://www.httparchive.org/trends.php Regression test : log creator browser pages pageTimings entries request response cookies headers queryString postData params content cache timings Data Structure
  • 13. Sources ● Basically shows the source code of the page ● For people who start crying when seeing a minified javascript source, know that the Pretty Print button might make you smile. Just click here : { }
  • 15. Performance Analysis Tools The Timeline Gives you a performance overview ● Memory usage ● Occuring Events ● Rendering Highlights performance bottlenecks ● Javascript ● Paint time / Reflow ● Etc...
  • 16. Performance Analysis Tools The Timeline ● Events (shows all recorded events by event category) ● Frames (shows your page's rendering performance) ● Memory (shows your page's memory usage over time)
  • 17. Performance Analysis Tools The Timeline – Events view ● The Blue Line (domContentLoaded) ● The Red Line (Window load event) ● Events categories : Loading Script Rendering Painting
  • 18. Performance Analysis Tools The Timeline – Frame view It's all about Rendering Performance 60hz = 60 frame per seconde = 1/60 sec = 16.66666 ms 16 ms per frame!!!
  • 19. Performance Analysis Tools The Timeline – Frame view By the way... RequestAnimationFrame = good SetTimeOut / interval = bad http://athousandnodes.com/article/using-requestanimationframe-web-browser-animations-instead-settimeout
  • 20. Profiles You can gather different kind of information by selecting different profiles and recording what's happening on page load. Collect JavaScript CPU profile ● Shows where the execution time is spent in your JS functions Collect CSS Selector profile ● Shows how long the selector matching has taken in total and how many times a certain selection has matched Dom element. Heap Snapshot ● Inspecting memory usage of a given page at a given time
  • 21. Performance Analysis Tools Profile – Heap Snapshot Object Graph ● Root ● Primary type (boolean,nb,string) ● Object (Key Value) ● Retaining tree ● Distance ● Shallow Size ● Retained Size Few Terms Memory leak can occur, When you keep a retaining path to a node by accident
  • 22. Performance Analysis Tools Profile – Heap Snapshot 4 Differents Views Summary Tracking down specific objects based on their “type” (constructor name), because it shows objects in memory grouped by their constructor name. Comparison This view is the best way to verify that deletion is working properly. Containment This view is good for analyzing objects that are referenced in the global namespace… basically anything you put on the global window variable. Dominator This view is a good way to verify that your references are all properly contained (no unexpected references hanging around), and that deleting things is really working !!! USE THIS IN INCOGNITO!!!
  • 23. Audits The Audits panel analyses page as it loads and provides suggestions and optimizations to decrease page load time and increase responsiveness. Provides audits for ● Network utilization ● Web page performance ● Other audits you might want to add More complete audits using PageSpeed
  • 24. PageSpeed ● Free-to-download plugin ● Much more complete version of the Web Page Performance Analyzer from the « Audits » tab. ● Gives you very precise hints on what to do to improve site's performance. ● Shows actual results of analysis, and sometimes it even does the work of improving things for you. ● Minify HTML/CSS/JS → Tells you by how much % you could reduce page size by compressing/minifying these files. ● Optimize images → Actually compresses it for you and provides a link to the optimized image! (Warning : Some compressed image that are provided might have a huge quality drop, even if it says « lossless compression », so it's still a case by case process. To download Page Speed : https://developers.google.com/speed/pagespeed/insights_extensions
  • 26. Chrome Devtool in remote !? /opt/google/chrome/google-chrome --remoteebugging-port=9222 –incognito TIPS! For remote access : ssh -L 0.0.0.0:9223:localhost:9222 localhost -N Remote Debugging on Android https://developers.google.com/chrome-developer-tools/docs/remote-debugging