pip install FlowVisor
from FlowVisor import FlowVisor, vis
@vis # This will visualize the function in the flow
def my_function():
print("Hello World")
@vis
def my_other_function():
my_function()
my_other_function()
FlowVisor.CONFIG.output_file = "example_graph" # You can add some configureation with the CONFIG object
FlowVisor.graph() # Generate the graph
FlowVisor.export("example_flow", "json") # Save the flow as json
Adds the vis decorator to all functions in all python files in a directory.
add-vis -p <path-to-dir>
Removes the vis decorator from all functions in all python files in a directory.
remove-vis -p <path-to-dir>
Generate a graph from a exported flow file.
vis-file -f <path-to-flow-file>
The overhead of the FlowVisor is tried to be kept as low as possible. The overhead is mainly caused by the decorator. Therefore the time for running the logic of the Flowvisor is excluded from the profiling.
You can even descrease the overhead by the advanced_ovhead_reduction
:
FlowVisor.enable_advanced_overhead_reduction()
git clone https://github.com/cophilot/FlowVisor
cd FlowVisor
pip install -r requirements.txt
Run the example:
pip install -r requirements.txt
python example.py
by Philipp B.