Python decorators for profiling/tracing/timing a single function
MIT License
.. image:: https://github.com/mgedmin/profilehooks/workflows/build/badge.svg?branch=master :target: https://github.com/mgedmin/profilehooks/actions
.. image:: https://ci.appveyor.com/api/projects/status/github/mgedmin/profilehooks?branch=master&svg=true :target: https://ci.appveyor.com/project/mgedmin/profilehooks
.. image:: https://coveralls.io/repos/mgedmin/profilehooks/badge.svg?branch=master :target: https://coveralls.io/r/mgedmin/profilehooks
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 https://mg.pov.lt/profilehooks. It has screensho, uh, that is, more examples.