Test Load Balancer(TLB)



Please use a javascript enabled browser to read this documentation(some of the documentation pages use controls that need javascript support to render)

Documentation for version:

This documentation directory covers core concepts and all the configuration options for TLB .
Should you wish to refer the documentation for a different release, please choose the corresponding version using the selector above.

Upstream Version

Supported Frameworks

Testing Tool Build Tool(s) Programming Language(s) or Platform(s)
JUnit Ant, Buildr Java
Twist Ant, Buildr Java
RSpec-1.x & Rspec-2.x Rake Ruby (MRI/CRuby) & JRuby (both 1.9 and 1.8)
Test::Unit Rake Ruby (MRI/CRuby) & JRuby (both 1.9 and 1.8)
Cucumber Rake Ruby (MRI/CRuby) & JRuby (both 1.9 and 1.8)

Quick Start

Use Quick Start, get load-balancing in minutes.

This section takes you through the step by step process to help you configure TLB on your project.


Concepts in TLB

TLB concepts gives details on all the concepts on which TLB is built. This is useful if you want to understand what all you can do with TLB. We strongly suggest that anyone who wants to use TLB in production at least get a hang of this.

We maintain a project called 'sample_projects' that has example setups written for different frameworks and build-tools in their corresponding languages to demonstrate how TLB can be hooked up with your test suite.

The sample projects repository has one directory per build-tool/testing-tool scenario. For instance, there is a directory named ant_junit which demonstrates [Ant(build tool) + JUnit(testing framework) + TLB] setup and test-unit_example which demonstrates [Rake(build tool) + Test::Unit(testing framework) + TLB] setup.

Configuring TLB explains TLB configuration. Once you have a rough picture of what variables TLB expects and uses, and the possible values, you can start tweaking corresponding values on the sample project of your interest, and observe how it affects behaviour.


TLB exposes all of its configuration parameters (knobs to tweek its behaviour) through environment variables.

This means, all it takes to tweak a configuration is setting an environment variable before you start the build (which uses tlb) or TLB Server. This helps decouple TLB from its environment. Since environment variables set for parent process are visible to child processes as well, its possible to say, configure half of these variables in your shell-initialization and set the other half just before executing tests.

Check the Configuration Variables page for detailed documentation on all environment variables TLB uses.


If you have any feedback about the tool, documentation or if you find something not explained well enough, please report an issue here: Issue Tracker and we will make sure its addressed.