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.

Comments No Comments »

Los Angeles Web Performance Group logo
Our friend and ex-New Yorker, Joe Devon started Web Performance Meetup group in the sunny Los Angeles.

Can’t wait to see what the group is going to discuss and maybe one day I’ll be able to go and visit them ;)

If you’re in the area, come and sign up!

Comments No Comments »

DBUpgrade
DBUpgrade project got a new site, logo and @dbupgrade twitter account.

DBUpgrade.org is a wiki site so please feel free to help me documenting it, providing your own solutions and describing your use cases.

This is not much, but quite enough for a small open source project to survive.

Go ahead, subscribe to this blog and twitter if you’d like to get updates about the project.

Comments No 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 »

I was listening to a long awaited interview with Seth Godin that Bob Walsh and Patrick Foley from Startup Success Podcast just released and Seth said something (11:38 in mp3) that resonated with me immediately:

…I use a resistance as a compass. If I’m uncomfortable about doing something, if I hear the voice of the lizard brain, that’s exactly what I choose to do…

This is exactly the “path of the most embarrassment” that I wrote about some time ago. This is the feeling that I found. The one that is so easy to differentiate from the comfortable fuzzy feeling that boring stuff brings.

It feels so good to have a validation by Seth, I think I should listen to this lizard brain more often not to step away from the path of the most embarrassment. Wait… good feelings should be avoided, don’t they…

Comments No Comments »

O’Reilly Velocity OnLine Conference is scheduled for March 17 and Steve Souders was kind enough to invite me to give a talk titled “Keeping Track of Your Performance Using Show Slow“.

Here’s more information about the conference:

The next O’Reilly Velocity Online Conference happens March 17. This FREE two hour, interactive online conference will give participants new insights into measuring load time, performance quality, JavaScript profile, and comparison to competitors – as well as provisioning toolchains and staying nimble in MySQL.

O’Reilly Online Conferences give direct access to our speakers, who can address your most pressing questions. You’ll also be able to interact with hundreds of other engineers, developers, sysadmins, architects and more – all from the comfort of your desk.

Registration is FREE. See the full agenda: http://conferences.oreilly.com/velocityonline

Comments No Comments »

Custom Metric Beacon allows every instance of ShowSlow to configure metrics it wants to record in addition to YSlow and PageSpeed ranking.

Once metric beacon is configured, simple GET/POST requests can be sent to the beacon with some numeric value which gets recorded and displayed over time on a graph.

You can also click on “Custom Metrics Beacon” on beacon list page (e.g. http://www.showslow.com/beacon/ for public instance) to see interactive form for manual submission.

Custom Metrics can vary depending on your needs, good examples include:

  • bounce rate on the page (from your analytics software)
  • amount of results on search page (from system configuration)
  • server load (from backend monitoring tool)

All these metrics are specific to your needs and you have to write some tools to collect them, but ShowSlow will be able to aggregate them all along with the rest of the data.

For configuration docs, see Installation page on the wiki.

Comments No Comments »

NYC Google Technology Users Group
Last week I gave a talk at joint NYC-
and NY Web Performance Group event at Sun Microsystems offices!

It was very nice to see so many people interested in Google’s new performance initiative, I think many were excited and couldn’t wait to try speeding up their sites.

I posted my presentation to TechPresentations here:
http://www.techpresentations.org/Google_Page_Speed_(at_NY_Web_Performance_Group)

and here’s direct link to the slides:
http://www.sergeychernyshev.com/talks/Web_Performance/Google_Page_Speed.html

I’m trying to improve my presentation skills so please give me some feedback and rate my presentation on SpekerRate:
http://speakerrate.com/talks/1952-web-performance-and-google-page-speed

New York Web Performance Group Logo
A few major links from the presentation to get you started on Google Page Speed:

If you’re on Twitter and still not following me @sergeyche or the group @nywebperf, feel free to do so.

Comments 3 Comments »

ShowSlow logo
A few people on the list asked me how to automate Show Slow monitoring and dug up all the magic I used on my monitoring farm and try to summarize it here:

Here are a few steps you’d want to follow:
Set up separate browser profiles – one for Google Page Speed and one for YSlow.
To learn how to set up a profile, take a look at Mozilla’s documentation: Managing profiles

Install extensions in respective profiles
Install Firebug for both profiles and Page Speed and YSlow in their respective profiles (extensions are installed and configured separately for each profile).

Set default Firebug tab
In each profile, set up it’s particular extension to be a default Firebug tab.

To do that, you need to set extensions.firebug.defaultPanelName property to:

  • pagespeed for Page Speed
  • yslow for YSlow

Configure autotesting
Configure to run measurements automatically when browser starts

  • extensions.PageSpeed.beacon.minimal.autorun = true for Page Speed
  • extensions.yslow.autorun = true for YSlow

Run Firefox periodically
Next step is to create a list of URLs you’d like to test on a regular basis and run Firefox periodically.

You can use a simple script I bundle with Show Slow:
http://code.google.com/p/showslow/source/browse/trunk/showslow.sh

If you’ll have any troubles, please feel free to post your questions to the discussion group and I’ll be happy to answer them:

http://groups.google.com/group/showslow

I’m planning to add better URL management to Show Slow itself so your automation scripts can fetch a list of URLs to process right from your Show Slow instance and some other tools can post URLs to be monitored.

There is probably more to be done to simplify this automation – from better shell scripts to additional Firefox extensions. More stuff will come along eventually.

Comments No Comments »

ShowSlow logo
I decided to extend Google Page Speed support in Show Slow to keep track of metrics the same way it’s done for YSlow.

You can see results at showslow.com – here’s example with Page Speed results only:
http://www.showslow.com/details/?url=http://start.ubuntu.com/8.04/

And here’s the example for both Page Speed and YSlow together:
http://www.showslow.com/details/?url=http://www.mozilla.com/en-US/

Version 0.3 is released and can be found in SVN here:
http://showslow.googlecode.com/svn/tags/REL_0_3/

Please upgrade and send your comments and questions to the support group here:
http://groups.google.com/group/showslow

Comments No Comments »