This is an analysis tool to show performance metrics using the logs of a scenario player run.
- Python 3.7
We strongly recommend using a virtual python env like pyenv (in addition to that you can use virtualenvwrapper)
- Scenario-player
The Scenario-player and scenario-player logs are a prerequisite to using this tool.
pyenv shell 3.7.0
mkvenv raiden-analysis
pip install -r requirements.txt
Either start the analysis directly or print out the help:
python analysis.py $PATH_TO_SCENARIO_LOG_FILE
python analysis.py -h
See an example result below.
Two different scenarios are currently available as examples and each have three generated files:
- A gantt plot is rendered in an HTML file - it contains a legend and a summary
- A CSV file is created which contains the duration of the tasks
- A HTML file with a statistic summary and histogram on the basis of each task type is getting calculated
- Gantt: example/simple-scenario/gantt-overview.html
- CSV: example/simple-scenario/durations.csv
- Statistics: example/simple-scenario/statistics.html
- Gantt: example/mediated-transfers-scenario/gantt-overview.html
- CSV: example/mediated-transfers-scenario/durations.csv
- Statistics: example/mediated-transfers-scenario/statistics.html
- the duration of a task is calculated by looking at the next event in the list of events (sorted by time)
- tasks processed in parallel may not be visualized correctly
- the number of ticks on the y-axis can be too high when too many tasks have been emitted in the log. In that case uncomment the
showticklabels
line within thedraw_gantt()
method. - log messages are grouped by task-id, resulting in request/response calls being grouped