RequestMeter and Collector

RequestMeter Screenshot

Client: FastBand Technologies
Date completed: Ongoing (since October 2005)
Platform: J2SE 5.0 (RequestMeter), Ruby on Rails (Collector)
License: Commercial; work done for hire
Source: Proprietary
Technologies: JRuby, Jakarta Commons libraries, Java Web Start

The Solution:
RequestMeter was a tool written for Fastband to allow easy, repeatable testing of their Internet Accelerator product. Java was selected as the primary platform due to the need for cross-platform compatibility. It was initially a port of another in house tool written in Bigloo Scheme, due to maintainability concerns from the client.

RequestMeter is a command line tool which attempts to simulate the steps taken to download a non-cached web page; it issues HTTP requests and collects basic statistics on the performance of those requests. JRuby is embedded into the RequestMeter to allow high levels of customization in the execution of test runs and collection of results.

The Collector is a Ruby on Rails application which allows a user to sign up as a tester and launch a copy of the RequestMeter running a specific test script via Java Web Start. The RequestMeter then reports its results to the Collector, which fields the results through a web service-style API. The Collector allows an administrative user to log in and review results achieved by individual testers, as well as view data about their connection type and speed. The data is exportable in CSV format for analysis in tools such as Excel.

The Client said:

RequestMeter was conceived to address a need to automate testing of the FastBand Internet Accelerator and remove the tedium of manual testing.

It was developed in a remarkably short period of time in concert with other code tasks and has proven to be a very effective and adaptable tool for trials of the core product.

Chris Guppy
CTO, FastBand Technologies