https://github.com/raiden-network/performance-analysis-tool
https://github.com/raiden-network/performance-analysis-tool
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/raiden-network/performance-analysis-tool
- Owner: raiden-network
- License: mit
- Created: 2019-10-01T07:30:24.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-08T05:23:34.000Z (over 3 years ago)
- Last Synced: 2025-03-02T09:45:13.609Z (over 1 year ago)
- Language: HTML
- Size: 28 MB
- Stars: 0
- Watchers: 12
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
Scenario Player Analysis
========================
This is an analysis tool to show performance metrics using the logs of a scenario player run.
Prerequisites
^^^^^^^^^^^^^
- 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.
Installation
^^^^^^^^^^^^
.. code-block:: bash
pyenv shell 3.7.0
mkvenv raiden-analysis
pip install -r requirements.txt
How To Use
^^^^^^^^^^
Either start the analysis directly or print out the help:
.. code-block:: bash
python analysis.py $PATH_TO_SCENARIO_LOG_FILE
python analysis.py -h
See an example result below.
Examples
^^^^^^^^
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
Simple-Scenario
"""""""""""""""
- Gantt: ``_
- CSV: ``_
- Statistics: ``_
Mediated-Transfers-Scenario
"""""""""""""""""""""""""""
- Gantt: ``_
- CSV: ``_
- Statistics: ``_
Limitations/Caveats
^^^^^^^^^^^^^^^^^^^
- 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 the ``draw_gantt()`` method.
- log messages are grouped by task-id, resulting in request/response calls being grouped