Skip to content

Python decorators for profiling/tracing/timing a single function

Notifications You must be signed in to change notification settings

vinaytota/profilehooks

 
 

Repository files navigation

profilehooks

https://travis-ci.org/mgedmin/profilehooks.png?branch=master

It's a collection of decorators for profiling functions. E.g. to profile a single function:

from profilehooks import profile

@profile
def my_function(args, etc):
    pass

The results will be printed when the program exits (or you can use @profile(immediate=True)).

If you're interested in coarse timings and don't want to pay for the overhead of profiling, use

from profilehooks import timecall

@timecall       # or @timecall(immediate=True)
def my_function(args, etc):
    pass

Finally, you may be interested in seeing line coverage for a single function

from profilehooks import coverage

@coverage
def my_function(args, etc):
    pass

Also functions can be available in Python console or module if run it with -m arg

$ python -m profilehooks
>>> profile
<function profile at 0x1005c6488>

$ python -m profilehooks yourmodule

Full documentation is available through pydoc profilehooks after installation.

The home page for this module is http://mg.pov.lt/profilehooks. It has screensho, uh, that is, more examples.

About

Python decorators for profiling/tracing/timing a single function

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.6%
  • Makefile 7.4%