Plop is a stack-sampling profiler for Python. Profile collection can be turned on and off in a live process with minimal performance impact.
Plop is currently a work in progress and pretty rough around the edges, so be prepared to run into bugs and extremely unrefined interfaces (which are likely to change in backwards-
Plop: Python Low-Overhead Profiler
=======
Plop is a stack-sampling profiler for Python. Profile collection can be
turned on and off in a live process with minimal performance impact.
Plop is currently a work in progress and pretty rough around the edges,
so be prepared to run into bugs and extremely unrefined interfaces
(which are likely to change in backwards-
releases).
Installation
------------
::
pip install plop
Prerequisites
-------------
The ``plop.collector`` module runs on Python 2.5, 2.6, and 2.7 on Unixy
platforms including Linux, BSD and Mac OS X (must support the ``setitimer``
system call). The ``plop.viewer`` module requires Python 2.7 and Tornado
2.x. The viewer can be (and usually is) run separately from the collector.
Usage
-----
In the application to be profiled, create a ``plop.
call ``start()``, wait, then ``stop()``. Write
``repr(
``demo/
interface.
To profile an entire Python script, run::
python -m plop.collector myscript.py
This will write the profile to ``/tmp/plop.out``
To use the viewer, run::
python -m plop.viewer --datadir=
and go to http://
Example
-------
An end-to-end demo is available in the ``demo`` directory.
``create_
generate load), generate a profile, and shut it down. ``view_profile.sh``
will run the viewer app.
More info
---------
The source code is hosted at https:/
View full history Series and milestones
trunk series is the current focus of development.