All Projects → nvdv → Vprof

nvdv / Vprof

Licence: bsd-2-clause
Visual profiler for Python

Programming Languages

javascript
184084 projects - #8 most used programming language
python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to Vprof

Appstat
Get AppStore apps stats
Stars: ✭ 322 (-91.52%)
Mutual labels:  stats, developer-tools
Magento2 Developer Quickdevbar
Developer Toolbar for Magento2
Stars: ✭ 306 (-91.95%)
Mutual labels:  developer-tools, profiler
Httptoolkit
HTTP Toolkit is a beautiful & open-source tool for debugging, testing and building with HTTP(S) on Windows, Linux & Mac 🎉
Stars: ✭ 331 (-91.29%)
Mutual labels:  developer-tools
Httplab
The interactive web server
Stars: ✭ 3,752 (-1.24%)
Mutual labels:  developer-tools
Isolator
Detect non-atomic interactions within DB transactions
Stars: ✭ 362 (-90.47%)
Mutual labels:  developer-tools
Cmd2
cmd2 - quickly build feature-rich and user-friendly interactive command line applications in Python
Stars: ✭ 342 (-91%)
Mutual labels:  developer-tools
Webdevscom
😍 All kinds of resources for Developers 🔱 in one place.
Stars: ✭ 364 (-90.42%)
Mutual labels:  developer-tools
Elm D3
Elm bindings for D3.js
Stars: ✭ 333 (-91.23%)
Mutual labels:  d3
Alp
Access Log Profiler
Stars: ✭ 382 (-89.94%)
Mutual labels:  profiler
Mozaik
Mozaïk is a tool based on nodejs / react / redux / nivo / d3 to easily craft beautiful dashboards
Stars: ✭ 3,546 (-6.66%)
Mutual labels:  d3
Britecharts
Client-side reusable Charting Library based on D3.js v5 that allows easy and intuitive use of charts and components that can be composed together creating amazing visualizations.
Stars: ✭ 3,688 (-2.92%)
Mutual labels:  d3
Phoenix
My Phoenix setup. Powerful, easy to customize, tuned for web development, adds a space switcher.
Stars: ✭ 350 (-90.79%)
Mutual labels:  developer-tools
Developer Roadmap Guide 2018
Stars: ✭ 344 (-90.94%)
Mutual labels:  developer-tools
Ply
CSS inspection aided by visual regression pruning
Stars: ✭ 370 (-90.26%)
Mutual labels:  developer-tools
Restool
RESTool is an open source UI tool for managing RESTful APIs. It could save you time developing your own internal tools. A live example:
Stars: ✭ 338 (-91.1%)
Mutual labels:  developer-tools
Hukum
An NPM module that displays Github Action progress in the terminal and aims to improve your development experience by printing status in realtime.
Stars: ✭ 375 (-90.13%)
Mutual labels:  developer-tools
Shapeshift
Quickly convert a folder containing Swift files into an iPad-compatible Playground
Stars: ✭ 336 (-91.16%)
Mutual labels:  developer-tools
Gitkube
Build and deploy docker images to Kubernetes using git push
Stars: ✭ 3,620 (-4.71%)
Mutual labels:  developer-tools
Solhint
Solhint is an open source project created by https://protofire.io. Its goal is to provide a linting utility for Solidity code.
Stars: ✭ 363 (-90.44%)
Mutual labels:  developer-tools
Fake Filler Extension
A browser extension for Chrome, Edge and Firefox that fills dummy text in all input fields in a page.
Stars: ✭ 383 (-89.92%)
Mutual labels:  developer-tools

PyPI

vprof

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.

Screenshots

vprof-gif

Contributing

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!

Prerequisites

Dependencies to build vprof from source code:

  • Python 3.4+
  • pip
  • npm >= 3.3.12

npm is required to build vprof from sources only.

Dependencies

All Python and npm module dependencies are listed in package.json and requirements.txt.

Installation

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

Usage

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 - profiler

Runs built-in Python profiler on <src> and displays results.

  • m - memory graph

Shows 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 heatmap

Displays 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.

Testing

python3 setup.py test_python && python3 setup.py test_javascript && python3 setup.py e2e_test

License

BSD

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].