Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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