SlideShare a Scribd company logo
Introduction
                    How does it work?
                    Using boomerang
                                 Data




Boomerang: How fast do users think your site
                  is?

      Philip Tellis / philip@bluesmoon.info


            ConFoo.ca/2011 – 2011.03.09-11




       ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                           How does it work?
                           Using boomerang
                                        Data


$ finger philip



      Philip Tellis
      philip@bluesmoon.info
      @bluesmoon
      geek - paranoid - speedfreak
      yahoo
      http://bluesmoon.info/




              ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
             How does it work?   The adversary
             Using boomerang     Measure twice
                          Data   boomerang




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
             How does it work?   The adversary
             Using boomerang     Measure twice
                          Data   boomerang




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

mmm... beacons
mmm... beaconsmmm... beacons
mmm... beacons

The document appears to be a presentation on measuring real user experiences using Real User Monitoring (RUM) and analyzing the data. It discusses using RUM tools like Boomerang to collect data on user behavior and performance in real-time. The presentation then examines specific metrics collected like user patience, cache behavior, and how quickly new software versions are distributed based on the RUM data.

webperfvelocityconf
RUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IRUM Distillation 101 -- Part I
RUM Distillation 101 -- Part I

Part I of RUM Distillation 101. Part II is by Jonathan Klein available here: http://www.slideshare.net/jnklein/uxfest-performance-a

uxfestperformancerum
Improving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesImproving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFrames

This document discusses using <IFRAME> tags to improve the performance of third party scripts. It describes how third party scripts normally block page loading and proposes using an iframe to load scripts asynchronously in parallel without blocking. It provides code for creating an iframe targeted to load scripts, handling cross-domain issues, and modifying the Method Queue Pattern to support iframes. The approach allows third party scripts to load without blocking the main page load.

webperfvelocityconfjavascript
Introduction   Time
             How does it work?   The adversary
             Using boomerang     Measure twice
                          Data   boomerang




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                       How does it work?   The adversary
                       Using boomerang     Measure twice
                                    Data   boomerang




Only 10–20% of page load time is spent on systems we control




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction        Time
                        How does it work?        The adversary
                        Using boomerang          Measure twice
                                     Data        boomerang


It’s what we can’t control that users notice




                                            http://twitter.com/stoyanstefanov/status/43747252317077504




           ConFoo.ca/2011 – 2011.03.09-11        Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                       browsers




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Extending Boomerang
Extending BoomerangExtending Boomerang
Extending Boomerang

The document discusses Boomerang, an open source tool for measuring real user performance on websites. It measures load times, bandwidth usage, latency and other metrics. Additional functionality can be added through plugins. The presentation encourages developers to use Boomerang to analyze user behavior, identify performance issues, and continuously improve sites based on real user data. It provides several examples of insights that can be gained, such as how performance varies by country, browser, and internet connection speed.

boomerangjavascriptperformance
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"

The document is a presentation about abusing JavaScript to measure web performance. It discusses using JavaScript to measure network latency, TCP handshake time, network throughput, DNS lookup time, IPv6 support and latency, and other performance metrics. It provides code examples for measuring each metric in JavaScript and notes challenges to consider. The presentation encourages the use of the open source Boomerang library for accurate performance measurement.

webperfboomerangnetwork
The Statistics of Web Performance Analysis
The Statistics of Web Performance AnalysisThe Statistics of Web Performance Analysis
The Statistics of Web Performance Analysis

If you're interested in measuring real user web performance, you'll find tools like boomerang or episodes quite handy. Some popular web frameworks even have modules that make it easy to add them to your site. However, what does one do once one has collected the data? How do you filter out the noise and get meaningful insights from the data? In this talk, I'll go over the techniques we've picked up by analyzing millions of datapoints daily. I'll cover some simple rules to filter out invalid data, and the statistics to analyze and make sense of what's left. Do you use the mean, median or mode? What about the geometric mean and standard deviation? How confident are we in the results? And finally, why should we care? This talk should help you gain useful insights from a histogram, or at the very least point you in the right direction for further analysis.

webperfbostonstatistics
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                          plugins




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                             OSes




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                            viruses




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                        antiviruses




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Abusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformanceAbusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web Performance

While building boomerang, we developed many interesting methods to measure network performance characteristics using JavaScript running in the browser. While the W3C's NavigationTiming API provides access to many performance metrics, there's far more you can get at with some creative tweaking and analysis of how the browser reacts to certain requests. In this talk, I'll go into the details of how boomerang works to measure network throughput, latency, TCP connect time, DNS time and IPv6 connectivity. I'll also touch upon some of the other performance related browser APIs we use to gather useful information. I will NOT be covering the W3C Navigation Timing API since that's been covered by Alois Reitbauer in a previous Boston Web Perf talk.

webperfbostonmeetup
Rum for Breakfast
Rum for BreakfastRum for Breakfast
Rum for Breakfast

The document discusses analyzing real user monitoring (RUM) data to gain insights into website performance and user behavior. It describes building plugins to collect navigation and timing data from browsers. Various statistical techniques for analyzing the data are covered, including log-normal distributions, filtering outliers, sampling, and correlating metrics like page load time and bounce rates. The analysis of an example 8 million page dataset suggests very fast or slow page loads are associated with higher bounce rates, and thresholds for user-unfriendly performance are proposed based on bounce rates exceeding 50%.

webperfperformanceinsights
Analysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptAnalysing network characteristics with JavaScript
Analysing network characteristics with JavaScript

This document contains slides from a presentation about using JavaScript to analyze network performance. It discusses how to measure latency, TCP handshake time, network throughput, DNS lookup time, IPv6 support and latency, and private network scanning using JavaScript. Code examples are provided for measuring each of these network metrics by making image requests and timing the responses. The presentation emphasizes that accurately measuring network throughput requires requesting resources of different sizes and accounting for TCP slow start. It also notes some challenges around caching and geo-located DNS results.

networkingsecurityjavascript
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                       microwaves




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                     baby monitors




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




               naughty neighbours




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                            file shares




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

A Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficA Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web Traffic

This document is a presentation about analyzing web traffic using Node.js modules. It introduces Node.js and the npm package manager. It then discusses modules for parsing HTTP logs, including parsing user agents, handling IP addresses, geolocation, and date formatting. It also covers modules for statistical analysis like fast-stats, gauss, and statsd. The presentation provides code examples for using these modules and takes questions at the end.

nodejavascriptweb analytics
Input sanitization
Input sanitizationInput sanitization
Input sanitization

The document discusses input validation and output encoding to prevent vulnerabilities like XSS and SQL injection. It provides examples of how unexpected input can enable attacks, like special characters or invalid data types being passed to endpoints and rendered unencoded. The key lessons are that input validation is needed to receive clean, expected data, while output encoding is crucial to prevent exploits when displaying data to users. Both techniques are important defenses that address different but related issues.

securityxssinput validation
Messing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsMessing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristics

This document discusses using JavaScript to analyze network performance. It covers measuring latency, TCP handshake time, DNS lookup time, network throughput, and IPv6 support. The document provides code examples for measuring each of these metrics using JavaScript and analyzing image load times. It notes that network conditions vary and accurate measurements require statistical analysis over many samples.

jsconfeusecuritynetwork
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                         governments




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




                                 rodents




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


We can’t control




       Try simulating all that in the lab!




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                How does it work?   The adversary
                Using boomerang     Measure twice
                             Data   boomerang




We need to measure real end-user performance




   ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)

This document summarizes a presentation about using Boomerang, a JavaScript tool, to measure web page performance from the end user's perspective. Boomerang measures latency, bandwidth, and page load time by making requests to the site from code included on pages and sending the results to a beacon URL. It aims to provide accurate, real-world performance metrics that account for the many variables experienced by users, unlike lab testing. The document discusses how Boomerang technically measures these metrics and explains guidelines for including Boomerang code on pages to collect performance data.

boomerangjavascriptperformance
Boomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetupBoomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetup

The document discusses boomerang, a JavaScript tool for measuring web page performance from the end user's perspective. It works by measuring latency, bandwidth, and page load times and sending that data back to the developer. The collected data can be analyzed to identify outliers, trends over time, and opportunities for performance improvements based on factors like user location and ISP.

bostonboomerangjavascript
Boomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetupBoomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetup

This document discusses using Boomerang, a JavaScript tool, to measure web performance from the user's perspective. Boomerang measures latency, bandwidth, and page load times by making requests to the server from the user's browser. It collects and analyzes the data to identify outliers, group results based on connection speed, and correlate performance with code changes. The tool provides insight into where to optimize and where to locate content delivery networks for better performance.

boomerangnew yorkmeetup
Introduction   Time
                      How does it work?   The adversary
                      Using boomerang     Measure twice
                                   Data   boomerang




We need to measure real end-user performance from the real
                 end-user’s perspective




         ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
             How does it work?   The adversary
             Using boomerang     Measure twice
                          Data   boomerang




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                    How does it work?   The adversary
                    Using boomerang     Measure twice
                                 Data   boomerang




While this might work, it isn’t necessarily representative




       ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
             How does it work?   The adversary
             Using boomerang     Measure twice
                          Data   boomerang




             What about JavaScript?




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Measuring the web with boomerang
Measuring the web with boomerangMeasuring the web with boomerang
Measuring the web with boomerang

The document discusses measuring web performance from the end user's perspective using JavaScript. It notes that most web slowness comes from the front-end, which developers can't control due to browser, plugin, OS and other variations. To get accurate measurements, performance must be measured directly from the user's device using JavaScript, which is ubiquitous. The talk will discuss Boomerang, a JavaScript tool that measures page load performance and sends anonymized data back to developers for analysis.

roundtripboomerangbandwidth
MySQL Business Continuity Planning
MySQL Business Continuity PlanningMySQL Business Continuity Planning
MySQL Business Continuity Planning

Setting up MySQL for near 100% application uptime is not hard, but does require enough hardware redundancy and some smart planning.

mysqlreplicationbcp
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time

Is your patent a vanity piece of paper for your office wall? Or is it a reliable, defendable, assertable, property right? The difference is often quality. Is your patent simply a transactional cost and a large pile of legal bills for your startup? Or is it a leverageable asset worthy of attracting precious investment dollars, worth its cost in multiples of valuation? The difference is often quality. Is your patent application only good enough to get through the examination process? Or has it been crafted to stand the tests of time and varied audiences if you later need to assert that document against an infringer, find yourself litigating with it in an Article 3 Court at the hands of a judge and jury, God forbid, end up having to defend its validity at the PTAB, or even needing to use it to block pirated imports at the International Trade Commission? The difference is often quality. Quality will be our focus for a good chunk of the remainder of this season. What goes into a quality patent, and where possible, how do you get it without breaking the bank? ** Episode Overview ** In this first episode of our quality series, Kristen Hansen and the panel discuss: ⦿ What do we mean when we say patent quality? ⦿ Why is patent quality important? ⦿ How to balance quality and budget ⦿ The importance of searching, continuations, and draftsperson domain expertise ⦿ Very practical tips, tricks, examples, and Kristen’s Musts for drafting quality applications https://www.aurorapatents.com/patently-strategic-podcast.html

patentspatent applicationpatent prosecution
Introduction   Time
             How does it work?   The adversary
             Using boomerang     Measure twice
                          Data   boomerang




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang




boomerang is...
A piece of javascript that you add to your web page where it
measures and beacons back to you, the end user’s perceived
performance of your page




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                      How does it work?   The adversary
                      Using boomerang     Measure twice
                                   Data   boomerang


How?


 <script src="boomerang.js" type="text/javascript">
 </script>
 <script type="text/javascript">
 BOOMR.init({
     user_ip: "<network ident>",
     beacon_url: "http://mysite.com/beacon.php"
 });
 </script>




         ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Time
                        How does it work?   The adversary
                        Using boomerang     Measure twice
                                     Data   boomerang


What does it do?




     Measures user’s network throughput and latency to your
     server
     Measures the current page’s load time
     Beacons these results back to your server




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf

In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.

social media hackerfacebook hackerhire a instagram hacker
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck

YOUR RELIABLE WEB DESIGN & DEVELOPMENT TEAM — FOR LASTING SUCCESS WPRiders is a web development company specialized in WordPress and WooCommerce websites and plugins for customers around the world. The company is headquartered in Bucharest, Romania, but our team members are located all over the world. Our customers are primarily from the US and Western Europe, but we have clients from Australia, Canada and other areas as well. Some facts about WPRiders and why we are one of the best firms around: More than 700 five-star reviews! You can check them here. 1500 WordPress projects delivered. We respond 80% faster than other firms! Data provided by Freshdesk. We’ve been in business since 2015. We are located in 7 countries and have 22 team members. With so many projects delivered, our team knows what works and what doesn’t when it comes to WordPress and WooCommerce. Our team members are: - highly experienced developers (employees & contractors with 5 -10+ years of experience), - great designers with an eye for UX/UI with 10+ years of experience - project managers with development background who speak both tech and non-tech - QA specialists - Conversion Rate Optimisation - CRO experts They are all working together to provide you with the best possible service. We are passionate about WordPress, and we love creating custom solutions that help our clients achieve their goals. At WPRiders, we are committed to building long-term relationships with our clients. We believe in accountability, in doing the right thing, as well as in transparency and open communication. You can read more about WPRiders on the About us page.

web development agencywpriderswordpress development
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM

Quantum Communications Q&A with Gemini LLM. These are based on Shannon's Noisy channel Theorem and offers how the classical theory applies to the quantum world.

quantum communicationsshannon's channel theoremclassical theory
Introduction   Latency
             How does it work?   Bandwidth/Throughput
             Using boomerang     Load time
                          Data   Accuracy




         How does boomerang work?




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Latency
             How does it work?   Bandwidth/Throughput
             Using boomerang     Load time
                          Data   Accuracy




          Let’s take that one at a time




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Latency
                        How does it work?   Bandwidth/Throughput
                        Using boomerang     Load time
                                     Data   Accuracy


Measuring latency




     Download a 32 byte gif 10 times in sequence
     Measure the time to download each
     Discard the first measurement because it’s overpriced9
     Calculate the arithmetic mean, standard deviation and
     margin of error of the rest




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Latency
                         How does it work?   Bandwidth/Throughput
                         Using boomerang     Load time
                                      Data   Accuracy


Measuring throughput



     After the latency test is done, we download progressively
     larger images
     Stop at the first image that times out
     Redownload that image a few more times
     Calculate the median, standard deviation and margin of
     error of the largest image




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL

Blockchain technology is transforming industries and reshaping the way we conduct business, manage data, and secure transactions. Whether you're new to blockchain or looking to deepen your knowledge, our guidebook, "Blockchain for Dummies", is your ultimate resource.

blockchainweb3blockchain technology
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry

Are you interested in dipping your toes in the cloud native observability waters, but as an engineer you are not sure where to get started with tracing problems through your microservices and application landscapes on Kubernetes? Then this is the session for you, where we take you on your first steps in an active open-source project that offers a buffet of languages, challenges, and opportunities for getting started with telemetry data. The project is called openTelemetry, but before diving into the specifics, we’ll start with de-mystifying key concepts and terms such as observability, telemetry, instrumentation, cardinality, percentile to lay a foundation. After understanding the nuts and bolts of observability and distributed traces, we’ll explore the openTelemetry community; its Special Interest Groups (SIGs), repositories, and how to become not only an end-user, but possibly a contributor.We will wrap up with an overview of the components in this project, such as the Collector, the OpenTelemetry protocol (OTLP), its APIs, and its SDKs. Attendees will leave with an understanding of key observability concepts, become grounded in distributed tracing terminology, be aware of the components of openTelemetry, and know how to take their first steps to an open-source contribution! Key Takeaways: Open source, vendor neutral instrumentation is an exciting new reality as the industry standardizes on openTelemetry for observability. OpenTelemetry is on a mission to enable effective observability by making high-quality, portable telemetry ubiquitous. The world of observability and monitoring today has a steep learning curve and in order to achieve ubiquity, the project would benefit from growing our contributor community.

cloudcloud native observabilitycloud native
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx

Revolutionize your transportation processes with our cutting-edge RPA software. Automate repetitive tasks, reduce costs, and enhance efficiency in the logistics sector with our advanced solutions.

rpa in transportationrpa in transportation industryrpa in transportation sector
Introduction   Latency
                        How does it work?   Bandwidth/Throughput
                        Using boomerang     Load time
                                     Data   Accuracy


Measuring latency before throughput helps here




     Those 10 latency images do a lot to widen the TCP
     window size
     The bandwidth images make much better use of available
     bandwidth
     The image we end with makes the best use of bandwidth




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Latency
                        How does it work?   Bandwidth/Throughput
                        Using boomerang     Load time
                                     Data   Accuracy


How do we measure page load time?



     In the onbeforeunload event, measure the time and
     store it in a cookie
     In the onload event, check the cookie, and measure the
     difference with the current time
     We also make sure that the page that set the cookie is the
     referrer of the current page




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Latency
                        How does it work?   Bandwidth/Throughput
                        Using boomerang     Load time
                                     Data   Accuracy


What? Two pages?




     Yes, this needs two pages and cookies. If those aren’t
        supported, we try to use the WebTiming API10 .




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Latency
                         How does it work?   Bandwidth/Throughput
                         Using boomerang     Load time
                                      Data   Accuracy


How accurate is it?



     Latency measurements are very accurate (±1%)
     Bandwidth is to an order of magnitude. For bad
     connections can be ±30%
     Page load time sometimes has outliers, you need
     post-filtering
     The margin of error tells you how good your data is




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf

To help you choose the best DiskWarrior alternative, we've compiled a comparison table summarizing the features, pros, cons, and pricing of six alternatives.

data recoverydatadiskwarrior
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx

Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation

rpa in healthcarerpa in healthcare usarpa in healthcare industry
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024

Everything that I found interesting about machines behaving intelligently during June 2024

quantumfaxmachine
Introduction   Basic
                        How does it work?   In-page timers
                        Using boomerang     AJAX
                                     Data


Include it on your page


  <script src="boomerang.js" type="text/javascript">
  </script>
  <script type="text/javascript">
  BOOMR.init({
      user_ip: "<network ident>",
      beacon_url: "http://mysite.com/beacon.php"
  });
  </script>




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Basic
             How does it work?   In-page timers
             Using boomerang     AJAX
                          Data




         For most sites, that’s about it




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Basic
             How does it work?   In-page timers
             Using boomerang     AJAX
                          Data




        You probably want to do more




ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Basic
                              How does it work?   In-page timers
                              Using boomerang     AJAX
                                           Data


Measure more than just load time

  <html><head>
  <script>
  var t_pagestart=new Date().getTime();
  </script>
  ...
  <script>
  var th=new Date().getTime();
  </script>
  </head>
  <body>
  ...
  <script>
  var tj=new Date().getTime();
  </script>
  ...      ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?

Recommended for you

Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...

Slide of the tutorial entitled "Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Emerging Trends" held at UMAP'24: 32nd ACM Conference on User Modeling, Adaptation and Personalization (July 1, 2024 | Cagliari, Italy)

user modelinguser profilinguser model
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf

Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).

solar storms
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...

Today’s digitally connected world presents a wide range of security challenges for enterprises. Insider security threats are particularly noteworthy because they have the potential to cause significant harm. Unlike external threats, insider risks originate from within the company, making them more subtle and challenging to identify. This blog aims to provide a comprehensive understanding of insider security threats, including their types, examples, effects, and mitigation techniques.

insider securitycybersecurity threatsenterprise security
Introduction   Basic
                     How does it work?   In-page timers
                     Using boomerang     AJAX
                                  Data




...
<script src="boomerang.js"></script>
...
var te=new Date().getTime();
BOOMR.plugins.RT.setTimer("t_head", th-t_pagestart).
                 setTimer("t_body", te-th).
                 setTimer("t_js", te-tj);
</script></body></html>




        ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Basic
                       How does it work?   In-page timers
                       Using boomerang     AJAX
                                    Data




This adds the t_head, t_body and t_js fields to the beacon




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Basic
                       How does it work?   In-page timers
                       Using boomerang     AJAX
                                    Data


Loading dynamic content




  BOOMR.init({
      user_ip: "<network ident>",
      beacon_url: "http://mysite.com/beacon.php",
      auto_run: false
  });




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Basic
                       How does it work?   In-page timers
                       Using boomerang     AJAX
                                    Data


Loading dynamic content




  // Just before download starts
  BOOMR.plugins.RT.startTimer("t_done");




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf

As a popular open-source library for analytics engineering, dbt is often used in combination with Airflow. Orchestrating and executing dbt models as DAGs ensures an additional layer of control over tasks, observability, and provides a reliable, scalable environment to run dbt models. This webinar will cover a step-by-step guide to Cosmos, an open source package from Astronomer that helps you easily run your dbt Core projects as Airflow DAGs and Task Groups, all with just a few lines of code. We’ll walk through: - Standard ways of running dbt (and when to utilize other methods) - How Cosmos can be used to run and visualize your dbt projects in Airflow - Common challenges and how to address them, including performance, dependency conflicts, and more - How running dbt projects in Airflow helps with cost optimization Webinar given on 9 July 2024

apache airflowdbtdbt-core
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure

Recent advancements in the NIST-JARVIS infrastructure: JARVIS-Overview, JARVIS-DFT, AtomGPT, ALIGNN, JARVIS-Leaderboard

jarvisjarvis-dftalignn
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...

Have you noticed the OpenSSF Scorecard badges on the official Dart and Flutter repos? It's Google's way of showing that they care about security. Practices such as pinning dependencies, branch protection, required reviews, continuous integration tests etc. are measured to provide a score and accompanying badge. You can do the same for your projects, and this presentation will show you how, with an emphasis on the unique challenges that come up when working with Dart and Flutter. The session will provide a walkthrough of the steps involved in securing a first repository, and then what it takes to repeat that process across an organization with multiple repos. It will also look at the ongoing maintenance involved once scorecards have been implemented, and how aspects of that maintenance can be better automated to minimize toil.

dartflutteropenssf
Introduction   Basic
                       How does it work?   In-page timers
                       Using boomerang     AJAX
                                    Data


Loading dynamic content




  // Just after download finishes
  BOOMR.plugins.RT.done();




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction   Basic
                      How does it work?   In-page timers
                      Using boomerang     AJAX
                                   Data


Much more




      http://yahoo.github.com/boomerang/doc/howtos/




         ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                           shoulda
                       How does it work?
                                           coulda
                       Using boomerang
                                           woulda
                                    Data


The beacon



    GET request to the beacon URL (response ignored)
    All parameters passed in the query string
    Extra timers are passed in as a comma separated list in
    t_other
    before_beacon JavaScript event fired just before the
    beacon is sent




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                             shoulda
                         How does it work?
                                             coulda
                         Using boomerang
                                             woulda
                                      Data


What should we do with the data?




     Sanity checking to:
         Remove fake data
         Remove abusive data
         Maybe just rate limiting




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems

Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states. In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing. Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.

BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf

Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.

neo4jneo4j webinarsgraph database
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024

This is a powerpoint that features Microsoft Teams Devices and everything that is new including updates to its software and devices for May 2024

microsoft teamsmicrosoft
Introduction
                                             shoulda
                         How does it work?
                                             coulda
                         Using boomerang
                                             woulda
                                      Data


What can we do with the data?




     Statistical analysis to:
          Remove outliers
          Aggregate based on bandwidth blocks
          Measure trends over time and correlate them with code
          changes




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                           shoulda
                       How does it work?
                                           coulda
                       Using boomerang
                                           woulda
                                    Data


Bandwidth blocks




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                           shoulda
                       How does it work?
                                           coulda
                       Using boomerang
                                           woulda
                                    Data


Bandwidth blocks




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                           shoulda
                       How does it work?
                                           coulda
                       Using boomerang
                                           woulda
                                    Data


Bandwidth blocks




          ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces

An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)

augmented realitycross realityvirtual reality
Introduction
                                             shoulda
                         How does it work?
                                             coulda
                         Using boomerang
                                             woulda
                                      Data


Bandwidth blocks




   Data points from some countries may require narrower bands




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                              shoulda
                          How does it work?
                                              coulda
                          Using boomerang
                                              woulda
                                       Data


Geographic data




   Looking at latency from different geographic locations can tell
               you where your next mirror should be




             ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                               shoulda
                           How does it work?
                                               coulda
                           Using boomerang
                                               woulda
                                        Data


ISPs




       Grouping data by ISP can tell you who’s behaving badly




              ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                                             shoulda
                         How does it work?
                                             coulda
                         Using boomerang
                                             woulda
                                      Data


More data



     Write plugins to get more performance data
     We already have a DNS plugin
     I’ve just completed a plugin to measure IPv6 support and
     latency
     What about a full WebTiming plugin?
     I’m also looking at measuring connection setup time




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Introduction
                                              shoulda
                          How does it work?
                                              coulda
                          Using boomerang
                                              woulda
                                       Data


You decide




      Once you have the data, you can do anything with it




             ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
              How does it work?
              Using boomerang
                           Data




Boomerang: It (almost) always comes back
                  http://github.com/yahoo/boomerang

               http://yahoo.github.com/boomerang/doc/




 ConFoo.ca/2011 – 2011.03.09-11      Boomerang: How fast do users think your site is?
Introduction
                        How does it work?
                        Using boomerang
                                     Data


Photo credits




     flickr.com/photos/21233184@N02/4389412851
     http://xkcd.com/445/




           ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                          How does it work?
                          Using boomerang
                                       Data


Contact me


     Philip Tellis
     philip@bluesmoon.info
     @bluesmoon
     geek - paranoid - speedfreak
     yahoo
     http://bluesmoon.info/
     slideshare.net/bluesmoon
     joind.in/talk/view/2913




             ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

Recommended for you

Introduction
                         How does it work?
                         Using boomerang
                                      Data


References



     github.com/yahoo/boomerang
     More bandwidth doesn’t matter (much) – Mike Belshe
     Analysing Bandwidth & Latency – YUI Blog
     It’s the latency, stupid – Stuart Cheshire
     The statistics of web performance




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                         How does it work?
                         Using boomerang
                                      Data


Overpriced images




     The first image might require a DNS lookup and TCP
     handshake
     Slow start is not an issue since 32 bytes fit in 1 packet




            ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?
Introduction
                          How does it work?
                          Using boomerang
                                       Data


WebTiming API



  JavaScript interface to network timing information including
  DNS, TCP connect, download, etc. Supported by:
      Microsoft Internet Explorer 9
      Google Chrome (WebKit)
      W3C specification




             ConFoo.ca/2011 – 2011.03.09-11   Boomerang: How fast do users think your site is?

More Related Content

More from Philip Tellis

Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
Philip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
Philip Tellis
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
Philip Tellis
 
mmm... beacons
mmm... beaconsmmm... beacons
mmm... beacons
Philip Tellis
 
RUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IRUM Distillation 101 -- Part I
RUM Distillation 101 -- Part I
Philip Tellis
 
Improving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesImproving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFrames
Philip Tellis
 
Extending Boomerang
Extending BoomerangExtending Boomerang
Extending Boomerang
Philip Tellis
 
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Philip Tellis
 
The Statistics of Web Performance Analysis
The Statistics of Web Performance AnalysisThe Statistics of Web Performance Analysis
The Statistics of Web Performance Analysis
Philip Tellis
 
Abusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformanceAbusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web Performance
Philip Tellis
 
Rum for Breakfast
Rum for BreakfastRum for Breakfast
Rum for Breakfast
Philip Tellis
 
Analysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptAnalysing network characteristics with JavaScript
Analysing network characteristics with JavaScript
Philip Tellis
 
A Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficA Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web Traffic
Philip Tellis
 
Input sanitization
Input sanitizationInput sanitization
Input sanitization
Philip Tellis
 
Messing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsMessing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristics
Philip Tellis
 
Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)
Philip Tellis
 
Boomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetupBoomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetup
Philip Tellis
 
Boomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetupBoomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetup
Philip Tellis
 
Measuring the web with boomerang
Measuring the web with boomerangMeasuring the web with boomerang
Measuring the web with boomerang
Philip Tellis
 
MySQL Business Continuity Planning
MySQL Business Continuity PlanningMySQL Business Continuity Planning
MySQL Business Continuity Planning
Philip Tellis
 

More from Philip Tellis (20)

Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
Frontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy PersonFrontend Performance: Beginner to Expert to Crazy Person
Frontend Performance: Beginner to Expert to Crazy Person
 
mmm... beacons
mmm... beaconsmmm... beacons
mmm... beacons
 
RUM Distillation 101 -- Part I
RUM Distillation 101 -- Part IRUM Distillation 101 -- Part I
RUM Distillation 101 -- Part I
 
Improving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFramesImproving 3rd Party Script Performance With IFrames
Improving 3rd Party Script Performance With IFrames
 
Extending Boomerang
Extending BoomerangExtending Boomerang
Extending Boomerang
 
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
Abusing JavaScript to measure Web Performance, or, "how does boomerang work?"
 
The Statistics of Web Performance Analysis
The Statistics of Web Performance AnalysisThe Statistics of Web Performance Analysis
The Statistics of Web Performance Analysis
 
Abusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web PerformanceAbusing JavaScript to Measure Web Performance
Abusing JavaScript to Measure Web Performance
 
Rum for Breakfast
Rum for BreakfastRum for Breakfast
Rum for Breakfast
 
Analysing network characteristics with JavaScript
Analysing network characteristics with JavaScriptAnalysing network characteristics with JavaScript
Analysing network characteristics with JavaScript
 
A Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web TrafficA Node.JS bag of goodies for analyzing Web Traffic
A Node.JS bag of goodies for analyzing Web Traffic
 
Input sanitization
Input sanitizationInput sanitization
Input sanitization
 
Messing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristicsMessing with JavaScript and the DOM to measure network characteristics
Messing with JavaScript and the DOM to measure network characteristics
 
Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)Measuring the web with Boomerang (YUIConf 2010)
Measuring the web with Boomerang (YUIConf 2010)
 
Boomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetupBoomerang at the Boston Web Performance meetup
Boomerang at the Boston Web Performance meetup
 
Boomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetupBoomerang @ NY Web Perf meetup
Boomerang @ NY Web Perf meetup
 
Measuring the web with boomerang
Measuring the web with boomerangMeasuring the web with boomerang
Measuring the web with boomerang
 
MySQL Business Continuity Planning
MySQL Business Continuity PlanningMySQL Business Continuity Planning
MySQL Business Continuity Planning
 

Recently uploaded

Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
SynapseIndia
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 

Recently uploaded (20)

Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxRPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptx
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 

Boomerang: How fast do users think your site is?

  • 1. Introduction How does it work? Using boomerang Data Boomerang: How fast do users think your site is? Philip Tellis / philip@bluesmoon.info ConFoo.ca/2011 – 2011.03.09-11 ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 2. Introduction How does it work? Using boomerang Data $ finger philip Philip Tellis philip@bluesmoon.info @bluesmoon geek - paranoid - speedfreak yahoo http://bluesmoon.info/ ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 3. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 4. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 5. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 6. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang Only 10–20% of page load time is spent on systems we control ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 7. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang It’s what we can’t control that users notice http://twitter.com/stoyanstefanov/status/43747252317077504 ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 8. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control browsers ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 9. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control plugins ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 10. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control OSes ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 11. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control viruses ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 12. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control antiviruses ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 13. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control microwaves ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 14. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control baby monitors ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 15. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control naughty neighbours ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 16. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control file shares ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 17. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control governments ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 18. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control rodents ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 19. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We can’t control Try simulating all that in the lab! ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 20. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We need to measure real end-user performance ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 21. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang We need to measure real end-user performance from the real end-user’s perspective ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 22. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 23. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang While this might work, it isn’t necessarily representative ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 24. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang What about JavaScript? ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 25. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 26. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang boomerang is... A piece of javascript that you add to your web page where it measures and beacons back to you, the end user’s perceived performance of your page ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 27. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang How? <script src="boomerang.js" type="text/javascript"> </script> <script type="text/javascript"> BOOMR.init({ user_ip: "<network ident>", beacon_url: "http://mysite.com/beacon.php" }); </script> ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 28. Introduction Time How does it work? The adversary Using boomerang Measure twice Data boomerang What does it do? Measures user’s network throughput and latency to your server Measures the current page’s load time Beacons these results back to your server ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 29. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy How does boomerang work? ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 30. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy Let’s take that one at a time ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 31. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy Measuring latency Download a 32 byte gif 10 times in sequence Measure the time to download each Discard the first measurement because it’s overpriced9 Calculate the arithmetic mean, standard deviation and margin of error of the rest ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 32. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy Measuring throughput After the latency test is done, we download progressively larger images Stop at the first image that times out Redownload that image a few more times Calculate the median, standard deviation and margin of error of the largest image ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 33. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy Measuring latency before throughput helps here Those 10 latency images do a lot to widen the TCP window size The bandwidth images make much better use of available bandwidth The image we end with makes the best use of bandwidth ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 34. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy How do we measure page load time? In the onbeforeunload event, measure the time and store it in a cookie In the onload event, check the cookie, and measure the difference with the current time We also make sure that the page that set the cookie is the referrer of the current page ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 35. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy What? Two pages? Yes, this needs two pages and cookies. If those aren’t supported, we try to use the WebTiming API10 . ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 36. Introduction Latency How does it work? Bandwidth/Throughput Using boomerang Load time Data Accuracy How accurate is it? Latency measurements are very accurate (±1%) Bandwidth is to an order of magnitude. For bad connections can be ±30% Page load time sometimes has outliers, you need post-filtering The margin of error tells you how good your data is ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 37. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data Include it on your page <script src="boomerang.js" type="text/javascript"> </script> <script type="text/javascript"> BOOMR.init({ user_ip: "<network ident>", beacon_url: "http://mysite.com/beacon.php" }); </script> ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 38. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data For most sites, that’s about it ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 39. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data You probably want to do more ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 40. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data Measure more than just load time <html><head> <script> var t_pagestart=new Date().getTime(); </script> ... <script> var th=new Date().getTime(); </script> </head> <body> ... <script> var tj=new Date().getTime(); </script> ... ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 41. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data ... <script src="boomerang.js"></script> ... var te=new Date().getTime(); BOOMR.plugins.RT.setTimer("t_head", th-t_pagestart). setTimer("t_body", te-th). setTimer("t_js", te-tj); </script></body></html> ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 42. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data This adds the t_head, t_body and t_js fields to the beacon ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 43. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data Loading dynamic content BOOMR.init({ user_ip: "<network ident>", beacon_url: "http://mysite.com/beacon.php", auto_run: false }); ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 44. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data Loading dynamic content // Just before download starts BOOMR.plugins.RT.startTimer("t_done"); ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 45. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data Loading dynamic content // Just after download finishes BOOMR.plugins.RT.done(); ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 46. Introduction Basic How does it work? In-page timers Using boomerang AJAX Data Much more http://yahoo.github.com/boomerang/doc/howtos/ ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 47. Introduction shoulda How does it work? coulda Using boomerang woulda Data The beacon GET request to the beacon URL (response ignored) All parameters passed in the query string Extra timers are passed in as a comma separated list in t_other before_beacon JavaScript event fired just before the beacon is sent ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 48. Introduction shoulda How does it work? coulda Using boomerang woulda Data What should we do with the data? Sanity checking to: Remove fake data Remove abusive data Maybe just rate limiting ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 49. Introduction shoulda How does it work? coulda Using boomerang woulda Data What can we do with the data? Statistical analysis to: Remove outliers Aggregate based on bandwidth blocks Measure trends over time and correlate them with code changes ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 50. Introduction shoulda How does it work? coulda Using boomerang woulda Data Bandwidth blocks ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 51. Introduction shoulda How does it work? coulda Using boomerang woulda Data Bandwidth blocks ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 52. Introduction shoulda How does it work? coulda Using boomerang woulda Data Bandwidth blocks ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 53. Introduction shoulda How does it work? coulda Using boomerang woulda Data Bandwidth blocks Data points from some countries may require narrower bands ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 54. Introduction shoulda How does it work? coulda Using boomerang woulda Data Geographic data Looking at latency from different geographic locations can tell you where your next mirror should be ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 55. Introduction shoulda How does it work? coulda Using boomerang woulda Data ISPs Grouping data by ISP can tell you who’s behaving badly ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 56. Introduction shoulda How does it work? coulda Using boomerang woulda Data More data Write plugins to get more performance data We already have a DNS plugin I’ve just completed a plugin to measure IPv6 support and latency What about a full WebTiming plugin? I’m also looking at measuring connection setup time ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 57. Introduction shoulda How does it work? coulda Using boomerang woulda Data You decide Once you have the data, you can do anything with it ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 58. Introduction How does it work? Using boomerang Data Boomerang: It (almost) always comes back http://github.com/yahoo/boomerang http://yahoo.github.com/boomerang/doc/ ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 59. Introduction How does it work? Using boomerang Data Photo credits flickr.com/photos/21233184@N02/4389412851 http://xkcd.com/445/ ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 60. Introduction How does it work? Using boomerang Data Contact me Philip Tellis philip@bluesmoon.info @bluesmoon geek - paranoid - speedfreak yahoo http://bluesmoon.info/ slideshare.net/bluesmoon joind.in/talk/view/2913 ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 61. Introduction How does it work? Using boomerang Data References github.com/yahoo/boomerang More bandwidth doesn’t matter (much) – Mike Belshe Analysing Bandwidth & Latency – YUI Blog It’s the latency, stupid – Stuart Cheshire The statistics of web performance ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 62. Introduction How does it work? Using boomerang Data Overpriced images The first image might require a DNS lookup and TCP handshake Slow start is not an issue since 32 bytes fit in 1 packet ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?
  • 63. Introduction How does it work? Using boomerang Data WebTiming API JavaScript interface to network timing information including DNS, TCP connect, download, etc. Supported by: Microsoft Internet Explorer 9 Google Chrome (WebKit) W3C specification ConFoo.ca/2011 – 2011.03.09-11 Boomerang: How fast do users think your site is?