Catchpoint WebPageTest Documentation

Example Mobile Agent Configuration (physical devices)

(Pictures coming soon)

This is documentation for how the mobile agents are set up and configured (hardware and software) for the public WebPageTest instance. Properly configured the agents can run for months at a time with no human intervention and for the rare cases where intervention is needed, it can be managed remotely.

The hardware described is the hardware in use by the public instance but exact pieces can be swapped out as available (i.e. the exact model switch, cpu heatsinks, etc are probably not critical).

Recommended Hardware




Support Hardware

Hardware Configuration

At this point you should have the phone and Pi as a stand-alone package connected by a single slim ethernet cable to the PoE switch

Device Setup



Raspberry Pi Configuration

The wptagent-install script can automatically configure the agent software starting with a raspbian server image.

Operational Notes

Optimally the agent will automatically update the agent software hourly and daily it will update the OS, lighthouse and trim the SD card.

If something fails with the agent itself or the raspberry Pi locks up the watchdog will reboot the Pi and it should continue operating seamlessly. The /getTesters.php page on the WebPageTest server will show the agent uptime. If there is an agent with a consistently lower uptime than the others it may be worth looking at the hardware and software config to understand why it keeps rebooting.

You can monitor the agent activity directly by connecting ssh to the pi and running "screen -r" to connect to the screen session running the agent (make sure to disconnect the screen session, not kill the agent process).

If the phone goes offline but the pi is still responding you can ssh into the pi and "adb reboot" the phone. When the phone finishes rebooting it should automatically start testing again.

If the pi goes offline and isn't responding to ssh (and wasn't automatically recovered by the watchdog) you can connect to the management interface on the PoE switch, going into the PoE port settings, disabling the port the pi is connected to and then re-enabling it (that cuts power to the Pi and restores it).