1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2025-01-18 12:06:08 +00:00
Go to file
Marc Bonnici 684121e2e7 fw: Replace usage of file locking with atomic writes
To prevent long timeouts occurring during to file locking on
both reads and writes replace locking with
atomic writes.

While this may results in cache entries being overwritten,
the amount of time used in duplicated retrievals will likely
be saved with the prevention of stalls due to waiting to
acquire the file lock.
2020-07-15 15:04:31 +01:00
.github/ISSUE_TEMPLATE Add initial issue templates. 2020-04-02 10:18:47 +01:00
dev_scripts dev_scripts/pylint: fix default path 2018-07-18 11:20:48 +01:00
doc doc: fix callback priority table 2020-06-30 15:04:20 +01:00
extras Dockerfile: Update to store environment variables in separate file 2020-06-19 11:25:34 +01:00
scripts scripts: remove legacy WA2 scripts 2017-04-27 09:01:22 +01:00
tests framework, tests: Correct signal disconnection 2020-07-14 17:31:38 +01:00
wa fw: Replace usage of file locking with atomic writes 2020-07-15 15:04:31 +01:00
.gitignore gitignore: fix path to instrument_method_map.rst 2018-06-28 14:04:21 +01:00
.readthedocs.yml readthedocs: Add ReadtheDocs configuration 2019-08-28 15:03:38 +01:00
.travis.yml travis: Limit the maximum version of isort 2020-07-09 14:45:28 +01:00
LICENSE Initial commit of open source Workload Automation. 2015-03-10 13:09:31 +00:00
MANIFEST.in MANIFEST: Fix including all of the wa subdirectory 2019-01-10 13:21:16 +00:00
pytest.ini tests: fix pytest warnings 2019-12-03 14:03:18 +00:00
README.rst Update to remove Python2 as supported version. 2019-07-19 17:07:46 +01:00
requirements.txt requirements: Update to latest known working package versions 2019-12-20 16:07:10 +00:00
setup.py setup.py: Update pandas version restrictions 2019-08-30 14:03:03 +01:00

Workload Automation
+++++++++++++++++++

Workload Automation (WA) is a framework for executing workloads and collecting
measurements on Android and Linux devices. WA includes automation for nearly 40
workloads and supports some common instrumentation (ftrace, hwmon) along with a
number of output formats.

WA 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.

WA 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, instruments or output processing.


Requirements
============

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


Installation
============

To install::

        git clone git@github.com:ARM-software/workload-automation.git workload-automation
        sudo -H python setup [install|develop]

Note: A `requirements.txt` is included however this is designed to be used as a
reference for known working versions rather than as part of a standard
installation.

Please refer to the `installation section <http://workload-automation.readthedocs.io/en/latest/user_information.html#install>`_
in the documentation for more details.


Basic Usage
===========

Please see the `Quickstart <http://workload-automation.readthedocs.io/en/latest/user_information.html#user-guide>`_
section of the documentation.


Documentation
=============

You can view pre-built HTML documentation `here <http://workload-automation.readthedocs.io/en/latest/>`_.

Documentation in reStructuredText format may be found under ``doc/source``. To
compile it into cross-linked HTML, make sure you have `Sphinx
<http://sphinx-doc.org/install.html>`_ installed, and then ::

        cd doc
        make html


License
=======

Workload Automation is distributed under `Apache v2.0 License
<http://www.apache.org/licenses/LICENSE-2.0>`_. Workload automation includes
binaries distributed under different licenses (see LICENSE files in specific
directories).


Feedback, Contributions 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.