A Flood.io client for Python 2 and 3.
$ pip install floodio-python
Instantiate a client with your Flood API key:
from floodio.client import Client
client = Client('YOURAPIKEY')
client.floods
is iterable:
for flood in client.floods:
print(flood)
or you can get a flood by its uuid:
flood = client.floods['SOMEUUID']
A flood has stop
, repeat
, and refresh
methods.
flood.stop()
# keyword arguments are optional.
flood.repeat(grid='SOMEGRIDUUID', region='AWSREGION')
flood.refresh() # pulls the latest state of this flood
Accessing flood.status
performs an implicit refresh.
flood.status
>>> 'queued'
flood.status
>>> 'running'
flood.status
>>> 'finished'
Condensed results are available with flood.report
.
flood.report.summary
flood.report.mean_response_time
flood.report.mean_concurrency
flood.report.mean_throughput
flood.report.mean_error_rate
flood.report.mean_apdex
and the detailed results are available with flood.results
, directly loading the JSON-response.
Any times returned by Flood API V2 are parsed into native Python datetime objects.
eg. flood.started
and flood.ended
.
You can create a new flood with client.floods.create
. Test files are a list of two-tuples
with a filename, and either a file-like object or a string.
flood = client.floods.create(
'jmeter-2.13',
[('test.jmx', your_test_data)],
name='client-test',
duration=300,
threads=200,
rampup=300,
grids='SOMEGRIDUUID',
)