Velocity Conference 2011 Workshop on Performance Tools

I probably should use the video record feature of my Mac, but I won’t be that guy. That guy I’m referring to is this guy who sits in the front year of the Hotsos Conference every year. He brings his little camcorder and shoves it in the speaker’s face. He never asks for permission, but always does it…even after being told time and time again not to do it. No worries…I will share as much as possible to give you the feeling as though you are here.


Looks like Patrick Meenan left AOL this past year to head over to Google. Score 1 to Google! Nori and I sat with Patrick last year during one of our sessions. We did a ton of work with Junfang last year provoked by this blog. You can see all of her work by searching the label PERF-7909. If you recall, last year Junfang wrote up the entire script framework to integrate with WebPageTest for the CDN project Nori lead up yesterday.

First thing to note is that Pat put all of his notes on this site here. It has 11 links for the session. It looks like he wants to go beyond the basic test. His goal is to do the more advanced work, such as the video capture and film strip view. Ideally this can be used for comparison of a before and after development after. They have added a feature called content blocking. This is an advanced feature that allows you to block different strings (ie: *.js) and what will happen is it will run a test and not load any JS files. You can do video capture of the blocked content and compare to an unblocked content. Why would you do this? Well, it’s good to see how performance would be if blocking of certain file types or content didn’t happen and what performance could really be like. In Pat’s example, he showed how CNN would improve by over 1.5s to improve rendering time when the JS file is not blocking. Personally, I think his JS example wasn’t the right thing to show. He seemed a little nervous and corrected himself later by suggesting this was a better test when evaluating a 3rd party widget such as a Google Ad or some other type of dashlet or widget from an external system.

Idea for Kevin and Nori: One thing I was thinking about was the fantastic work Kevin and Nori did on the Leiden CSS issue this past year. I think that they could leverage this tool as an example during their BbWorld presentation to show how obscure CSS elements could create unnecessary latency.

Integration with dynaTrace exists…woohoo. You can do a waterfall capture from WebPageTest and then open directly in dynaTrace AJAX edition so that you can inspect deeper. If CPU spikes to 100%, that’s an example of where the browser is locking up. You definitely want to do a profile trace with dynaTrace to figure out why you are seeing this client performance issue.

It also looks like you can do a TCPDump (getting all data in 1st round-trip or having to make multiple round-trips). You can open those up directly in Wireshark.

More will come on new features to this tool in later sessions this week.

Note to Self: Looks like the Google PageSpeed team has introduced a new SDK @ I ran a quick test from our below…


Interesting enough, when we go to the mobile option, it looks like we score even lower 52/100 for mobile versus 61/100 for pure browser. Also it looks likeGoogle has created some APIs to use. Question for self/team…with the rise of the IPAD and other mobile devices, do we really need to consider these devices as the new interface (specifically their browsers) and not our mobile app as the key interface for accessing Bb? If so…then we have some work to do in our lab.

Blaze Mobitest

Craig Conboy presented a tool called Mobitest. The site can be found here. The team is out of Ottawa. There app runs on a variety of mobile devices. Looks like they leverage WebPageTest as the engine. They are running a locally hosted instance of WebPageTest in their data center. Kind of a weak presentation…

I did run a test of an IPAD2 out of Ottawa. I did video capture. Surprisingly, we came back in 16s for render time…YIKES!


It looks like ShowSlow has a release that can be setup internally. This might have been a feature for quite a while, but I’m not too sure. You can pull down the application at It’s a simple PHP application that can be easily configured and setup.

First thing you need to do is configure your browsers (beacons) to send information back to your local instance. What’s cool about this is we could configure our own local instance and possibly integrate this into a continuous test loop. Only thing is that we need to be really sure how we are going to leverage this. I need to think a little bit more about this idea. We definitely will want to consider a possible Selenium integration with the various beacons. There’s a blog about it here

Note to Self: One of the attendees mentioned Yahoo’s Boomerang. You can see it here. This is really interesting as it looks like the YSlow team finally finished the missing link that Souders had called out years ago to capture page load times. This was originally called out in JIFFY and EPISODES.


This session focused on the more advanced features of dynaTrace AJAX edition.

  • Rendering Analysis: Leave just rendering and JavaScript execution (toggle option). Helps narrow down the area to focus your attention.
  • JavaScript Tips and Tricks: 2 views (aggregated and non-aggregated). Use non-aggregated for logical flow of execution. Use aggregated for performance analysis.
  • Markers
  • XML Comparison
  • Benchmarking
  • Beacon Upload: Integrate with Public/Private ShowSlow instances
  • External Testing: integration

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s