SlideShare une entreprise Scribd logo
1  sur  31
Gareth Hughes, @brassic_lint
Measuring Front-end Performance:
What, When and How?
Gareth Hughes, @brassic_lint
What?
–Akamai study, 2009
http://uk.akamai.com/html/about/press/releases/2009/press_091409.html
“47% of consumers expect a web page to load in 2 seconds or
less”
–Akamai study, 2009
“47% of consumers expect a web page to load in 2 seconds or
less”
Anatomy of an HTTP request
TTFB
(Time to First Byte)
Time to glass
Render
Tree
HTML
CSS
DOM
CSSOM
Layout Paint
DOM
Content
Loaded
Render
Start
JavaScript
DOM
CSSOM
In the browser
http://www.w3.org/TR/navigation-timing/
In the browser
http://www.w3.org/TR/resource-timing/
In the browser
function myTimings()
{
performance.mark("startTask1");
doTask1(); // Some developer code
performance.mark("endTask1");
performance.mark("startTask2");
doTask2(); // Some developer code
performance.mark("endTask2");
}
http://www.w3.org/TR/user-timing/
Speed Index
What?
• Response End / TTFB
How quickly has my server served the base page
• DOM Content Loaded
A good analogy for “Page is usable”
• Render Start / First Paint
Gives us an indication of when the user actually sees something
• Total Page Load
Although this includes all 3rd-party and deferred content, it can help get a “feel” for how well
everything is working
• User Timings
This is a little more work, but allows the ability to instrument the areas important to you
• Speed Index
This is a great single metric to give a pretty good idea of overall user experience
What?
When?
Requirements
Design
Development
Test
Release / Maintenance
–Brad Frost
http://bradfrost.com/blog/post/performance-as-design/
“Good performance is good design”
Performance Budgets
• Defines tangible numbers or metrics
• May be defined by an aspiration or industry standards
• Enforces the performance standards
• Instills a “culture of performance” in the project team
• Gives a mark to measure by
• You probably already have one!
• Start vague, but define early
• “Performance is everyone’s problem”
When?
At every stage of the lifecycle!
How?
Synthetic
Domo arigato, Mr. Roboto
http://www.webpagetest.org
• Free!
• Real browsers
• Global
• Scripting
• API
• Mobile devices
• OSS
Real User Monitoring
• sitespeed.io
Uses WPT & PhantomJS to run performance audits on site.
• Can be used internally (CLI tool)
• PerfBar (http://wpotools.github.io/perfBar/)
Surfaces NavTiming data in the browser
• Useful on UAT-type environments
• CI plugins
• Test for performance as part of the CI process
Other Tools
Reporting Data
SpeedCurve
https://speedcurve.com
Custom Dashboards
Graphite / Splunk
How?
• Synthetic
External, controlled testing
• Real User Monitoring
Browser-based reporting of real user’s experience
• Don’t choose!
Both synthetic and RUM provide valuable insight into performance and should
be seen as complementary - either alone gives a narrow view
• Report
Display data on dashboards, make it visible and relevant
Summary
• What: Decide what metrics are relevant to User Experience
• When: At every stage of the lifecycle
• How: Using tools and reports to make the data relevant and actionable
–Ian Malpass, Etsy,
https://codeascraft.com/2011/02/15/measure-anything-measure-everything/
“If it moves, we track it. Sometimes we’ll draw a graph of
something that isn’t moving yet, just in case it decides to make a
run for it.”
Gareth Hughes, @brassic_lint
Thank you!
http://www.slideshare.net/GarethHughes3
Gareth Hughes, @brassic_lint

Contenu connexe

Tendances

Measuring the visual experience of website performance
Measuring the visual experience of website performanceMeasuring the visual experience of website performance
Measuring the visual experience of website performance
Patrick Meenan
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Katie Sylor-Miller
 

Tendances (20)

Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017Hacking Web Performance @ ForwardJS 2017
Hacking Web Performance @ ForwardJS 2017
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJSModern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
 
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
 
A Modern Approach to Performance Monitoring
A Modern Approach to Performance MonitoringA Modern Approach to Performance Monitoring
A Modern Approach to Performance Monitoring
 
Measuring the visual experience of website performance
Measuring the visual experience of website performanceMeasuring the visual experience of website performance
Measuring the visual experience of website performance
 
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
Raiders of the Fast Start: Frontend Performance Archaeology - Performance.now...
 
10 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 201610 things you can do to speed up your web app today 2016
10 things you can do to speed up your web app today 2016
 
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AGTechnical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
Technical SEO vs. User Experience - Bastian Grimm, Peak Ace AG
 
Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018Super speed around the globe - SearchLeeds 2018
Super speed around the globe - SearchLeeds 2018
 
Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018Welcome to a new reality - DeepCrawl Webinar 2018
Welcome to a new reality - DeepCrawl Webinar 2018
 
Build your own analytics power tools
Build your own analytics power toolsBuild your own analytics power tools
Build your own analytics power tools
 
Moving From Angular to React
Moving From Angular to ReactMoving From Angular to React
Moving From Angular to React
 
Spring insight what just happened
Spring insight   what just happenedSpring insight   what just happened
Spring insight what just happened
 
Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performance
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21Web Components at Scale, HTML5DevConf 2014-10-21
Web Components at Scale, HTML5DevConf 2014-10-21
 
Hacking Web Performance
Hacking Web Performance Hacking Web Performance
Hacking Web Performance
 
Measuring what matters
Measuring what mattersMeasuring what matters
Measuring what matters
 
Making the web faster
Making the web fasterMaking the web faster
Making the web faster
 
Selecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutionsSelecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutions
 

Similaire à Measuring Front-End Performance - What, When and How?

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
Charles Vazac
 
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
Nicholas Jansma
 
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Nicholas Jansma
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
 

Similaire à Measuring Front-End Performance - What, When and How? (20)

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
 
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
 
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPScraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
 
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
Check Yourself Before You Wreck Yourself: Auditing and Improving the Performa...
 
Client-Side Performance Monitoring (MobileTea, Rome)
Client-Side Performance Monitoring (MobileTea, Rome)Client-Side Performance Monitoring (MobileTea, Rome)
Client-Side Performance Monitoring (MobileTea, Rome)
 
Performance on a budget
Performance on a budgetPerformance on a budget
Performance on a budget
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
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
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Neotys PAC 2018 - Jonathon Wright
Neotys PAC 2018 - Jonathon WrightNeotys PAC 2018 - Jonathon Wright
Neotys PAC 2018 - Jonathon Wright
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...
 
#NEOTYSPAC performance testing shift left
#NEOTYSPAC performance testing shift left#NEOTYSPAC performance testing shift left
#NEOTYSPAC performance testing shift left
 
improving the performance of Rails web Applications
improving the performance of Rails web Applicationsimproving the performance of Rails web Applications
improving the performance of Rails web Applications
 
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
Client Side Performance for Back End Developers - Camb Expert Talks, Nov 2016
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
 
Tech trends 2018 2019
Tech trends 2018 2019Tech trends 2018 2019
Tech trends 2018 2019
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 

Dernier

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

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
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Measuring Front-End Performance - What, When and How?

Notes de l'éditeur

  1. Start with the what…? What shall we measure? more questions: meaningful? how our pages are performing? user experience?
  2. what do users *mean*? The page is usable? All objects are loaded?
  3. When the browser wheel stops spinning? Can’t answer Can help to find out Know what you can measure to ensure you are meeting you user’s expectations.
  4. Let’s start with the basics… request an object over HTTP basic steps to deliver an object over HTTP, measure all of these indication of the page delivery performance bundle the back-end metrics into TTFB
  5. HTML page has been downloaded how the rest of the page gets built and displayed DOM = document object model very simplistic model partial render tree render start may happen before DCL elephant in the room: JavaScript! blocks DOM construction CSSOM construction blocks JavaScript execution! maybe DCL is a useful metric…?
  6. Once in the browser, there are APIs we can use to collect these, and other metrics… The NavTiming API… Lots of metrics covering navigation, page load + browser events like DCL http://www.w3.org/TR/navigation-timing/
  7. The ResourceTiming API… Performance metrics for page objects / resources NB Subject to CORS Must have an allow header (Timing-Allow-Origin)
  8. ultimate flexibility, the UserTimings API own timing marks in JS Guardian 1st party JS app instrumented
  9. Measure of how quickly the visible portions are drawn Visual completeness during page load Index of how long spent Incomplete Example: Start and End at the same time Graphing completeness over time gives… Can see that A is more complete more quickly B is Incomplete longer = worse UX Index calc’d from area above Larger area = larger index = worse UX More detail on formula online Used in synthetic Can be calc’d from browser paint events unreliable & not used commercially
  10. So let’s return to the “What?”… Huge number of metrics What can we use to represent UX? Depends a starting point of what I use…
  11. Response End How quickly has my server served the base page DOM Content Loaded A good analogy for “Page is usable” Render Start / First Paint Gives us an indication of when the user actually sees something Total Page Load Although this includes all 3rd-party and deferred content, it can help get a “feel” for how well everything is working User Timings This is a little more work, but allows the ability to instrument the areas important to you Speed Index This is a great single metric to give a pretty good idea of overall user experience
  12. let’s look at the “When?” when to test develop then test and hope?
  13. Example of a waterfall methodology when to measure performance? without saying do it in test and probably development. What about requirements? Performance should be a NFR And monitoring performance after release editors add content, marketing add tags ensure that users are still getting the optimal experience. what about during Design…?
  14. Brad Frost tells us… Good performance is good design Many articles on designing for performance book on it by Lara Hogan. Designing to be fast from the beginning, rather than trying to optimise, will always give a better experience for end-users, saves time in development & test, and makes the life of a developer a heck of a lot easier!
  15. A key way to achieve this is to set Performance Budgets; dev & design collaborating on designing a fast site PERFORMANCE IS EVERYONE’S PROBLEM
  16. So… we come back to the question of When? At every stage of the lifecycle But how do we do that?
  17. We know: what to measure, when to measure. But how? I’ll walk you through some of the options, using examples of tools on the way.
  18. Synthetic, often referred to as “robots”. many forms simple curl-type requests measuring the HTTP req also commonly used for availability monitoring doesn’t tell us a lot about UX easy, and often free or very cheap.
  19. Better to test using “real” browsers - emulated browser to load the page at regularly - external (generally) Methodologies vary Test under (relatively) consistent conditions. Emulated browsers for control Graph-based portals waterfall charts Also test from real VMs running desktop (or mobile in some cases) browsers. Some will use these for regular testing, as well as for single tests. Also screenshots filmstrips videos Key is consistency - Stable - Bandwidth - Latency Can’t compare otherwise
  20. Webpagetest is a fantastic resource it’s free, test from real browsers all over the world. Can build scripts to do things like authentication, click-paths. API to run tests, and get results, plenty of tools use this to automate measurement build pipelines - other reporting suites (sitespeed.io) Real mobile devices (Android and iOS) - US based. Open source, available on github… own private instance on your own network, A few minutes on AWS (pre-built AMIs). Great tool for testing before production as you can put it anywhere you need!
  21. How our site is really performing for end users, we need to get metrics from them. We know browsers provide a mechanism for getting data how do we get the millions(?) of data points and make sense of them? Start on the rum… no,“Real User Monitoring” Typically, small JS tag collect the metrics and beacon to a portal Some analytics will also collect basic performance data Like GA, Usually very basic and heavily sampled
  22. But how do we make sense of all this data? Eternal question for RUM data. Portals allow you to analyse the avalanche of data Often averages, percentiles or aggregations Valuable, but takes work Allows visibility into UX Further investigation before conclusions can be drawn Poor performance in Mexico could be poor CDN performance in the region A local connectivity issue Even, a single data point from a user on dial-up ;) HISTOGRAMS
  23. Other Tools Sitespeed - CLI - PhantomJS - WPT runner - internal Perfbar in UAT or for internal users CI plugins - fail the build on broken budgets
  24. So what are we going to do with all this data we’re collecting? Use to optimise the site Find areas to improve, RUM data might show situational optimisations But what else can we do with it?
  25. Speedcurve offers a number of high-level visualisations. Example here shows number of images on homepage Marked performance budget Markers to show deployments. Can be used to “publicise” site performance I know teams that display around the offices Make sure everyone knows what’s going on. “performance is everyones problem”.
  26. API access to the data, Build custom dashboards Graphite (with Grafana as a front-end) on the left, and Splunk on the right. Flexibility to integrate performance data business needs, other data sources like analytics, combining synthetic and RUM data, Build your own story Display data in a way that’s meaningful to everyone.
  27. So How…
  28. I’ll leave you with this quote from a 2011 blog entry from Ian Malpass at Etsy… this is their philosophy. However it’s important to remember to focus on what’s important to you, while collecting all the data you possibly can - you never know when it may be useful! https://codeascraft.com/2011/02/15/measure-anything-measure-everything/