Air is a simple, modular and light-weight set of Python tools for monitoring and profiling distributed applications and resources. Air is open source software and written in Python. It is built on top of open standards like the AMQP messaging protocol and the JSON data interchange format. Air tries to follow the unix philosophy:
"Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface." -- Doug McIlroy
The air-run process wrapper captures application metrics, output streams and logs, as well as environmental resource statistics:
air-run --id=ecoli01 "blastall -p blastn -d ecoli_nn -i ref01.fa -o ref01_vs_ecoli.out"
The air-flow tool allows you to connect to the data streams of your remote processes:
air-flow application.ecoli01.*
With Air you can capture a lot of things. Many of them are great for application profiling and monitoring, but of course it is up to you to decide what you want to use the captured data for. (Adaptive execution anyone?) Here are some of the more useful data points that Air can capture by default:
- Process stdout/stderr streams
- Process status and exit code
- Process memory consumption over time
- Process cpu utilisation over time
- Process network utilisation over time
- Process open files and i/o over time
- Resource filesystem utilisation
- Resource memory utilisation
- Resource cpu utilisation
- Resource network utilisation
- Resource queueing system utilisation
Installation
Air installs in seconds with Python pip:
pip install air
Requirements:
- Python
Comments not found