Skip to content

Tracerlib provides a set of helpers to make tracing Python code easier.

License

Notifications You must be signed in to change notification settings

caktus/tracerlib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tracerlib is a set of utilities to make tracing Python code easier.

It provides ``TracerManager``, which can allow multiple trace functions to
coexist. It can easily be enabled and disabled, either manually or as a
context manager in a with statement.

``Tracer`` classes make handling the different trace events much easier.

::

    class TraceExceptions(Tracer):
        def trace_exception(self, func_name, exctype, value, tb):
            print "Saw an exception: %r" % (value,)

``Tracer`` is also easily capable of filtering which events it listens
to. It accepts both an ``events`` parameter, a list of trace events it
will respond to, and a ``watch`` parameter, a list of paths it will
respond to in the form of ``package.module.class.function``.

This can easily wrap a trace function, or you can subclass ``Tracer``
and implement one of its helpful ``trace_*()`` methods.

And, a helper class ``FrameInspector`` which wraps a frame and makes it
trivial to inspect the function name and arguments the function had been
called with.

::

    inspector = FrameInspector(sys._getframe())

    print "Called", inspector.func_name
    print "args:", inspector.args
    print "kwargs:", inspector.kwargs

About

Tracerlib provides a set of helpers to make tracing Python code easier.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages