Skip to content

Commit

Permalink
Add a README
Browse files Browse the repository at this point in the history
  • Loading branch information
bdarnell committed Jul 6, 2012
1 parent 896daf6 commit 5428935
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
1 change: 1 addition & 0 deletions MANIFEST.in
@@ -1,2 +1,3 @@
recursive-include plop *.html *.js
include LICENSE.txt
include README.rst
52 changes: 52 additions & 0 deletions README.rst
@@ -0,0 +1,52 @@
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-incompatible ways in future
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.collector.Collector``,
call ``start()``, wait, then ``stop()``. Dump ``collector.stack_counts``
to a file. See ``ProfileHandler`` in ``demo/busy_server.py`` for an example
of how to trigger profiling via an HTTP interface.

To use the viewer, run::

python -m plop.viewer --datadir=demo/profiles

and go to http://localhost:8888

Example
-------

An end-to-end demo is available in the ``demo`` directory.
``create_profile.sh`` will run a server (which talks to itself to
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://github.com/bdarnell/plop

0 comments on commit 5428935

Please sign in to comment.