A framework for automating workload execution and measurement collection on ARM devices.
Python HTML Java C Shell JavaScript Other
Latest commit 6e7087e Feb 21, 2017 Sergei Trofimov resource: remote resource resolution fixes
- "remote" getter priority reduced to be below "environment" so that
  resouces placed into "~/.workload_automation/dependencies" by the user
  take priority over those pulled from remote locations.
- "filer" getter now uses a cache location for the resource rather than
  downloading to the local resource location.


Workload Automation

Workload Automation (WA) is a framework for executing workloads and collecting measurements on Android and Linux devices. WA includes automation for nearly 50 workloads (mostly Android), some common instrumentation (ftrace, ARM Streamline, hwmon). A number of output formats are supported.

Workload Automation is designed primarily as a developer tool/framework to facilitate data driven development by providing a method of collecting measurements from a device in a repeatable way.

Workload Automation is highly extensible. Most of the concrete functionality is implemented via plug-ins, and it is easy to write new plug-ins to support new device types, workloads, instrumentation or output processing.


  • Python 2.7
  • Linux (should work on other Unixes, but untested)
  • Latest Android SDK (ANDROID_HOME must be set) for Android devices, or
  • SSH for Linux devices


To install:

python setup.py sdist
sudo pip install dist/wlauto-*.tar.gz

Please refer to the installation section in the documentation for more details.

Basic Usage

Please see the Quickstart section of the documentation.


You can view pre-built HTML documentation here.

Documentation in reStructuredText format may be found under doc/source. To compile it into cross-linked HTML, make sure you have Sphinx installed, and then

cd doc
make html


Workload Automation is distributed under Apache v2.0 License. Workload automation includes binaries distributed under differnt licenses (see LICENSE files in specfic directories).

Feedback, Contrubutions and Support

  • Please use the GitHub Issue Tracker associated with this repository for feedback.
  • ARM licensees may contact ARM directly via their partner managers.
  • We welcome code contributions via GitHub Pull requests. Please see "Contributing Code" section of the documentation for details.