Archive for the “ShowSlow” Category

A few changes were made to ShowSlow in a past couple months so it’s time for a new release – welcome ShowSlow 0.7!

Full list of changes can be seen in bug tracker, but here are the most important ones:

  1. Resolved a problem with missing mod_rewrite (#43)
    A few people complained that timeplot charts and other JS-based functionality wasn’t working on details page. This was happening because mod_rewrite wasn’t enabled for the site or wasn’t compiled into Apache at all. The fix was actually done in SVN Assets project and it will autodetect mod_rewrite now and will use query string for URL uniqueness if it’s not available.
  2. dynaTrace beacon and results on details page (#46)
    dynaTrace team is releasing beaconing functionality in dynaTrace AJAX Edition 2.0 (coming up in August, but Beta is already available) and you can now send results to Show Slow.
    dynaTrace ShowSlow menu
  3. Added Google Friend Connect support for user registration and login
    UserBase (which Show Slow uses for user management) supports Google Friend Connect for a while and I just added it to Show Slow so now users can use Google, Twitter, Yahoo!, OpenID, AIM or Netlog accounts to sign in (and Google will probably support more in the future).
    Google Friend Connect for logging in
  4. file:// and chrome:// URLs as well as local network URLs are now ignored (#55)
    I don’t know why, but people were submitting data for non-HTTP protocol URLs (file://, chrome://) and private networks (10.x, 193.168.x and even 127.0.0.x) to public instance (http://www.showslow.com/).

    I believe some of them might be pointless on private instances as well.

    So now Show Slow is configured to ignore those URLs, but you can configure your instance to accept internal IPs if you really need it (although I suggest you use internal DNS for development sites instead).

  5. Added pagination to URL listing (#23)
    Ryan Doherty submitted a patch for list pagination for URLs measured tab which was important to increase performance of the tool.
  6. Added pagination to URL listing (#60)
    I also worked on grouping of URLs so now you can configure Show Slow to group URLs on your instance for different groups within your company or just for different sites or site sections driven by different tools, for example.

Upgrading is easy – just download new version and follow upgrade instructions.

If you don’t want to wait for a packaged release, feel free to use Subversion – all you need to do is run make and it will upgrade both code and database.

If you prefer to use Subversion but stick with release code, the tag for this release is REL_0_7

As always, please report any problems with installation to the mailing list:
http://groups.google.com/group/showslow

And feel free to contribute – there are many ways to do so:
http://www.showslow.org/Main_Page#Contributing

Comments 2 Comments »

A few people noticed that users submitted all kinds of URLs to Show Slow including those with file:// schema and even chrome:// schema (internal schema for Firefox extension files). Some users also sent URLs with private IPs and from localhost which can not be accessed from the internet by general public.

I added some code to handle these problems and now non-HTTP URLs are not going to be accepted and private network addresses will be ignored by default too.

Show Slow displays old URLs that are being ignored with new configuration in red

You can still configure your own instance to accept private network URLs by tweaking the settings, but you probably shouldn’t remove localhosts anyway.

Don’t forget to run deleteignored.php to remove measurements for URLs that were not supposed to be tracked.

Comments No Comments »

I’ve been dreaming about this for a while now and then Aaron and I were working on different parts of the system which allowed that to happen and now it’s possible!

Please welcome automated YSlow and Page Speed monitoring using Show Slow!

Now all you need to do is to register an account and enter your URL and the rest will be taken care of. Show Slow will fire YSlow and Page Speed at your site and collect statistics on a daily basis so you can just sit back and enjoy the graphs!

You can see the results on Alexa Top 100 tab that I also added to ShowSlow.com showcase performance for most popular sites of the internet.

Due to limited resources, ShowSlow.com allows for only one URL per user account to be monitored, but I’m looking for ways to remove or at least increase this limit.

I hope you’ll enjoy the automation and please forward it to everyone around you!

Comments 2 Comments »

Release 0.6 is packed with new stuff – first of all, smoothing that was originally implemented in JavaScript was too slow and got moved to server side in PHP code so now results are still smooth, but not clogging down the browser.

SVN Assets logoFront-end performance is always a priority for ShowSlow project and all performance-related bugs have high priority so this was time to use SVN Assets. It means that all static assets will now have unique URLs based on their versions in Subversion. Make sure you look into config.sample.php and set $baseAssetURL variable accordingly (simplest approach is to set it to $showslow_base). Also make sure you have mod_rewrite, mod_expires and mod_deflate enabled in your apache.

ShowSlow redesignWe also got some look and feel update and you can see uniform header and footer across all pages. You might notice a registration page, stay tuned for more news there. You probably also noticed that http://www.showslow.com/ got buttons for following on Twitter @showslow and like button from Facebook – don’t wait, please show your pride and help spread the word!

And last, but not least, now you can run WebPageTest.org tests right from details page. This feature was hacked together originally and had to be removed because of compatibility issues, but now it’s a solid integration using WebPageTest’s automation API! You can also configure it to run your own instance.

Running WebPageTest.org tests directly from details page

It’s a lot of changes and I hope you have no troubles upgrading, but if you do, don’t forget that you can always ask question on our mailing list here: http://groups.google.com/group/showslow

Comments No Comments »

Many people were frustrated with the graphs ShowSlow was showing as rankings and other measurements change too frequently if your pages are dynamic in nature and show different content on every request.

ShowSlow v0.5 is using rolling average to smooth the graphs, hope it’s going to be easier on your eyes and will help you get more meaning from the graphs.

ShowSlow 0.5 with smoothed graphs

Go ahead and download new version:
http://www.showslow.org/Installation_and_configuration#Getting_the_code

or just type “make” if you installed from Subversion.

Comments No Comments »

After I presented ShowSlow at Velocity Online Conference two weeks ago, I got a lot of suggestions regarding the software or a public instance and one of them was from Steve Souders who recommended creating a comparison page where people can see rankings for different sites compared over time.

It immediately resonated with me (G vs. Y! spirit) as I always try to create thought provoking features within ShowSlow that can help business people and developers ask new kinds of questions about their systems. In this case, the question is obvious – “Am I better then my competitors?“.

You can click “Compare rankings” tab on ShowSlow.com to see who is better – Google, Yahoo or Amazon?

Google vs. Yahoo! vs. Amazon YSlow ranking over time

Or you can just enter the URLs you’d like to compare and ShowSlow will display rankings graph for YSlow or PageSpeed (granted that data for these URLs was collected).

Each instance of ShowSlow can have it’s own it’s own set of URLs configured to link from “Compare rankings” tab so you can have your own competition (external or internal) measured.

Send me your fight stories or effect this tool had on your business folks, I’m very interested to see if this thing sparks the interest in performance project you’re running.

Thanks Steve!

Comments No Comments »

I’d like to welcome Aaron Kulick to ShowSlow team!

Aaron was active user and contributed a few patches and then started to actively contribute documentation to the project wiki: showslow.org.

Now Aaron is a full-blown contributor with SVN access and his first contribution is solving the most common problem – how do we automate YSlow and PageSpeed in a headless mode.

He created an automation section in the repository, feel free to check out his code and share your experience: http://code.google.com/p/showslow/source/browse/#svn/trunk/automation.

In two words, all you need to do is:

  • Run a memory framebuffer server (Xvfb)
  • Then configure Firefox profile(s) with different settings disabling some features that require user intervention and enable autorunning the extensions and beacons
  • Then you just create a list of URLs to test and feed it to test_harness.pl script that will launch Firefoxes appropriately

monitor.sh is a simple shell wrapper around the harness script that you can simply run from the cron job.

For more information read the README file and I hope we’ll have more documentation on showslow.org as well!

Please join me in thanking Aaron for this important tool!

Also, just a reminder, if you are not subscribed to a mailing list / google group, you can do that here:
http://groups.google.com/group/showslow

Comments 8 Comments »


I gave extended presentation about ShowSlow at New York Web Performance Meetup yesterday and I hope I was able to inspire people to start tracking their web site’s performance over time and thinking about your metrics that they want to collect for their business.

There were a couple questions about automation so here’s the blog post I wrote about automation a couple months ago: Automating Page Speed and YSlow monitoring.

Also, here’s the simple script that can be used with ShowSlow:
http://code.google.com/p/showslow/source/browse/trunk/showslow.sh. By the looks of it you can tell that it’s relatively simple to do.

You might also want to look at about:config preferences for Firefox to see if any of them affect you, e.g. forcing Firebug to open and grade each page, cache storage, automatic updates of extensions and stuff like that. I hope to have it documented better in near future.

Best way to learn more about ShowSlow configuration is to read
documentation on ShowSlow.org

If you’d like to just try the DEMO instance, go ahead and configure your YSlow to post there or just use export menu in PageSpeed or NetExport.

I’d like to also thank our host Logicworks and Stephanie personally for hospitality – it’s great to be welcome!

At our next session, on April 15th, Nicholas Tang is going to demo WebPageTest.org – free, web based performance analysis site that uses AOL Pagetest open source tool developed by Patrick Meenan. This will be first in a series of “Tools” sessions where I hope we’ll cover many useful details of them all.

I hope to see you all next month!

P.S. A few slides I had are on SlideShare, the rest was a demo and is not available, unfortunately.

Comments No Comments »

I added a few features to ShowSlow in a past couple weeks, but being also busy with HowDoable, I didn’t have time to write about them so here you go – a short digest:

Limit URLs using PCRE regexes

You can now limit URLs to be accepted by ShowSlow using PCRE regular expressions (thanks for initial patch from Aaron). All you need to do is to use a regex instead of just prefix in $limitURLs array – ShowSlow will automatically detect that it’s not a URL prefix and match against it using preg_match.

DBUpgrade for easy data schema upgrades

DBUpgradeI’ve started to use another open source project of mine called DBUpgrade to help you with database schema upgrades going from version to version. Going forward, if you’ll need to upgrade the schema, all you’ll have to do is run php dbupgrade.php or just make (which is going to run svn update too). tables.sql will still contain latest schema so feel free to update manually.
DBUpgrade requires MySQLi module to be configured with your PHP, it is also recommended if you’re using MySQL 4.1.3 and later (and you should be).

HAR beacon

And finally, I worked with Jan “Honza” Odvarko who is one of the lead developer of Firebug and related extensions to add HTTP Archive (HAR) support to ShowSlow and beacon support to NetExport Firebug extension (use v0.7b12+) that allows to save contents of Net Panel and later view it. HAR is also supported by HTTPWatch, a tool that created original xml-based export format HAR was based upon.

By default, beacons are sent to http://www.showslow.com/beacon/har/ but you can reconfigure it to point to your own instance using extensions.firebug.netexport.beaconServerURL Firefox config variable (at about:config).

NetExport beacon menu screenshot

You can see sample result here. For configuration options, see documentation on showslow.org

That was a lot of stuff – I should be reporting about developments more often.

Go ahead and try it all, let me know how it works and if you have any troubles using these features. If you feel you need more features in ShowSlow, go ahead, submit them to our UserVoice forum and email the mailing list to discuss and gain supporters: http://groups.google.com/group/showslow.

Update: See also post by Honza about this: http://www.softwareishard.com/blog/firebug/share-har-logs-online/

Comments 3 Comments »


Sometimes query strings can differ for a reason un related to performance and you want to have them ignored as all pages that are identical before the ? mark have the same characteristics.

Thanks to rachenj who submitted the bug to Show Slow bug tracker, now we have this feature.

Configuring query string pruning is easy, just set $dropQueryStrings = true if you want to drop all query strings or set it to an array of URL prefixes to match.

You can find full documentation on the wiki:

http://www.showslow.org/Installation#Drop_query_strings_from_URLs

Go ahead and download latest code from trunk:

http://code.google.com/p/showslow/source/checkout

Have fun and post your suggestions to the mailing list and bug reports to the issue tracker.

Comments No Comments »