Extending Boomerang

  • 11,210 views
Uploaded on

When we built boomerang at Yahoo!, we planned on it being a generic beaconing system with different payloads attached by plugins. We published an API, and wrote plugins to measure page roundtrip time, …

When we built boomerang at Yahoo!, we planned on it being a generic beaconing system with different payloads attached by plugins. We published an API, and wrote plugins to measure page roundtrip time, network throughput and latency. We received other plugins from Yahoo! to measure IPv6 and DNS latency, and then nothing happened...

Until one day, a certain Mr. Brewer submitted a NavTiming plugin. As it turns out, people were using boomerang in-house, and creating their own plugins that were never published.

In this talk, we’ll go over the basics of writing a boomerang plugin to measure anything you need, some best practices involved with writing plugins, and examples of third party plugins that others have written.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
11,210
On Slideshare
0
From Embeds
0
Number of Embeds
11

Actions

Shares
Downloads
18
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Extending Boomerang Philip Tellis / philip@bluesmoon.info HTML5 Dev Conf / 2013-04-02HTML5 Dev Conf / 2013-04-02 Extending Boomerang 1
  • 2. • Philip Tellis• @bluesmoon• philip@bluesmoon.info• performance / security• javascript HTML5 Dev Conf / 2013-04-02 Extending Boomerang 2
  • 3. I really like to study performance on the web HTML5 Dev Conf / 2013-04-02 Extending Boomerang 3
  • 4. 0 HistoryHTML5 Dev Conf / 2013-04-02 Extending Boomerang 4
  • 5. Jean-Antoine Nollet – 1746 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 5
  • 6. 260 years later. . .HTML5 Dev Conf / 2013-04-02 Extending Boomerang 6
  • 7. Measure real user to get the real picture HTML5 Dev Conf / 2013-04-02 Extending Boomerang 7
  • 8. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 9. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 10. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 11. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 12. Real Users • Get delighted • Get frustrated • Have credit cards • ... that they are attached to • Form an impression from experience HTML5 Dev Conf / 2013-04-02 Extending Boomerang 8
  • 13. 1 boomerangHTML5 Dev Conf / 2013-04-02 Extending Boomerang 9
  • 14. Real User Measurement – github.com/lognormal/boomerangHTML5 Dev Conf / 2013-04-02 Extending Boomerang 10
  • 15. What can we measure?HTML5 Dev Conf / 2013-04-02 Extending Boomerang 11
  • 16. Anything that the user does!HTML5 Dev Conf / 2013-04-02 Extending Boomerang 12
  • 17. NavTiming – W3C Candidate Recommendation HTML5 Dev Conf / 2013-04-02 Extending Boomerang 13
  • 18. Browser Support for NavTiming – April 2013 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 14
  • 19. Real Users don’t always use ideal browsers HTML5 Dev Conf / 2013-04-02 Extending Boomerang 15
  • 20. So there’s a lot of magic to support the other 33.2% HTML5 Dev Conf / 2013-04-02 Extending Boomerang 16
  • 21. boomerang • BSD licensed • Measure load time, bandwidth, latency • DNS lookup time, NavTiming, Connection Type • Page Parameters • And anything else you can write a plugin for HTML5 Dev Conf / 2013-04-02 Extending Boomerang 17
  • 22. And it beacons all of this back to a predefined URL HTML5 Dev Conf / 2013-04-02 Extending Boomerang 18
  • 23. boomerang is only a beaconing system, functionality is added with plugins HTML5 Dev Conf / 2013-04-02 Extending Boomerang 19
  • 24. 2 Let’s get hackingHTML5 Dev Conf / 2013-04-02 Extending Boomerang 20
  • 25. Get the code from github https://github.com/bluesmoon/boomerang-sample-plugin • branches are steps • commit logs are explanations HTML5 Dev Conf / 2013-04-02 Extending Boomerang 21
  • 26. 3 Fun stuffHTML5 Dev Conf / 2013-04-02 Extending Boomerang 22
  • 27. Spot the datacenter HTML5 Dev Conf / 2013-04-02 Extending Boomerang 23
  • 28. It’s actually in Nederland HTML5 Dev Conf / 2013-04-02 Extending Boomerang 24
  • 29. How does bandwidth change around the world? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 25
  • 30. What does a website’s performance distribution look like? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 26
  • 31. That’s my Blog (please visit) HTML5 Dev Conf / 2013-04-02 Extending Boomerang 27
  • 32. Log-normal distribution HTML5 Dev Conf / 2013-04-02 Extending Boomerang 28
  • 33. Bimodal distribution HTML5 Dev Conf / 2013-04-02 Extending Boomerang 29
  • 34. Did you know that IE7 seems to be faster than IE8? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 30
  • 35. But that’s mostly IE9 users browsing in IE7 compatibility mode. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 31
  • 36. Did you know that users bounce if a page is too fast? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 32
  • 37. But that’s mostly because error pages are the fastest. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 33
  • 38. Did you know that user patience wrt performance is a cultural thing? HTML5 Dev Conf / 2013-04-02 Extending Boomerang 34
  • 39. It’s tied both to where a user is from, and also the type of service. HTML5 Dev Conf / 2013-04-02 Extending Boomerang 35
  • 40. User Engagement: LD50 HTML5 Dev Conf / 2013-04-02 Extending Boomerang 36
  • 41. Summary Measure → Hypothesize → Test → Fix ← Repeat ← HTML5 Dev Conf / 2013-04-02 Extending Boomerang 37
  • 42. Thank You! Questions?HTML5 Dev Conf / 2013-04-02 Extending Boomerang 38
  • 43. Sources • Jean-Antoine Nollet from Wikimedia Commons http://commons.wikimedia.org/wiki/File%3AJean-Antoine_Nollet.jpg • Steve Souders by weboo on flickr http://www.flickr.com/photos/weboo/2539831515/ HTML5 Dev Conf / 2013-04-02 Extending Boomerang 39
  • 44. • Philip Tellis• @bluesmoon• philip@bluesmoon.info• www.SOASTA.com• boomerang• LogNormal Blog HTML5 Dev Conf / 2013-04-02 Extending Boomerang 40