Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Pprof | 6,839 | 1,956 | 3,906 | 5 days ago | 34 | April 23, 2021 | 58 | apache-2.0 | Go | |
pprof is a tool for visualization and analysis of profiling data | ||||||||||
Vprof | 3,839 | 9 | 7 | a year ago | 24 | February 29, 2020 | 27 | bsd-2-clause | Python | |
Visual profiler for Python | ||||||||||
Php Spx | 1,623 | a month ago | 44 | gpl-3.0 | C | |||||
A simple & straight-to-the-point PHP profiling extension with its built-in web UI | ||||||||||
Vardbg | 782 | 2 years ago | 9 | February 04, 2020 | 4 | mit | Python | |||
A simple Python debugger and profiler that generates animated visualizations of program flow, useful for algorithm learning. | ||||||||||
Statsview | 430 | 2 | 2 years ago | 8 | April 05, 2021 | mit | Go | |||
🚀 A real-time Golang runtime stats visualization profiler | ||||||||||
Statprofilerhtml.jl | 125 | 22 days ago | 4 | other | Julia | |||||
Show Julia profiling data in an explorable HTML page | ||||||||||
Python Benchmark Harness | 124 | 2 years ago | 4 | June 05, 2021 | 1 | mit | ||||
A micro/macro benchmark framework for the Python programming language that helps with optimizing your software. | ||||||||||
Traceshark | 117 | 2 months ago | 3 | gpl-3.0 | C++ | |||||
This is a tool for Linux kernel ftrace and perf events visualization | ||||||||||
Haskell Code Spot | 103 | 2 years ago | 2 | Svelte | ||||||
Visual tool to spot odd runtime behaviour of Haskell programs. | ||||||||||
Tfprof | 36 | 7 months ago | other | JavaScript | ||||||
Profiling Taskflow Programs through Visualization |
vprof is a Python package providing rich and interactive visualizations for various Python program characteristics such as running time and memory usage. It supports Python 3.4+ and distributed under BSD license.
The project is in active development and some of its features might not work as expected.
All contributions are highly encouraged! You can add new features, report and fix existing bugs and write docs and tutorials. Feel free to open an issue or send a pull request!
Dependencies to build vprof
from source code:
pip
npm
>= 3.3.12npm
is required to build vprof
from sources only.
All Python and npm
module dependencies are listed in package.json
and
requirements.txt
.
vprof
can be installed from PyPI
pip install vprof
To build vprof
from sources, clone this repository and execute
python3 setup.py deps_install && python3 setup.py build_ui && python3 setup.py install
To install just vprof
dependencies, run
python3 setup.py deps_install
vprof -c <config> <src>
<config>
is a combination of supported modes:
c
- CPU flame graph ⚠️ Not available for windows #62
Shows CPU flame graph for <src>
.
p
- profilerRuns built-in Python profiler on <src>
and displays results.
m
- memory graphShows objects that are tracked by CPython GC and left in memory after code
execution. Also shows process memory usage after execution of each line of <src>
.
h
- code heatmapDisplays all executed code of <src>
with line run times and execution counts.
<src>
can be Python source file (e.g. testscript.py
) or path to package
(e.g. myproject/test_package
).
To run scripts with arguments use double quotes
vprof -c cmh "testscript.py --foo --bar"
Modes can be combined
vprof -c cm testscript.py
vprof
can also profile functions. In order to do this,
launch vprof
in remote mode:
vprof -r
vprof
will open new tab in default web browser and then wait for stats.
To profile a function run
from vprof import runner
def foo(arg1, arg2):
...
runner.run(foo, 'cmhp', args=(arg1, arg2), host='localhost', port=8000)
where cmhp
is profiling mode, host
and port
are hostname and port of
vprof
server launched in remote mode. Obtained stats will be rendered in new
tab of default web browser, opened by vprof -r
command.
vprof
can save profile stats to file and render visualizations from
previously saved file.
vprof -c cmh src.py --output-file profile.json
writes profile to file and
vprof --input-file profile.json
renders visualizations from previously saved file.
Check vprof -h
for full list of supported parameters.
To show UI help, press h
when visualizations are displayed.
Also you can check examples
directory for more profiling examples.
python3 setup.py test_python && python3 setup.py test_javascript && python3 setup.py e2e_test
BSD