Oh wow, I didn't even consider that. I think you're right, I'll do more thinking about this. Thanks Anders!
On Thu, Apr 25, 2019 at 6:10 PM Anders Hovmöller <bo...@killingar.net> wrote: > Can't this be implemented today by a simple monkey patch of sys.settrace? > > On 25 Apr 2019, at 16:51, Ram Rachum <r...@rachum.com> wrote: > > Hi, > > Here's something I want in Python: Multiple levels of tracers working on > top of each other, instead of just one. > > I'm talking about the tracer that one can set by calling sys.settrace. > > I've recently released PySnooper: https://github.com/cool-RR/PySnooper/ > > One of the difficulties I have, is that I can't debug or run the > `coverage` tool on the core of this module. That's because the core is a > trace function, and debuggers and coverage tools work by setting a trace > function. When PySnooper sets its trace function using `sys.settrace`, the > code that runs in that trace function runs without getting traced by the > coverage tracer. > > This means that people who develop debuggers and coverage tools can't use > a debugger or a coverage tool on the core of their tool. It's quite an > annoying problem. > > My proposed solution: Multiple levels of tracing, instead of just one. > When you install a tracer, you're not replacing the existing one, you're > appending a tracer to the existing list of tracers. > > If this was implemented, then when PySnooper would install its tracer, the > coverage tracer would still be active and running, for every line of code > including the ones in PySnooper's tracer. > > Obviously, we'll need to figure out the API and any other kind of problems > with this proposal. > > What do you think? > > > Thanks, > Ram. > > > _______________________________________________ > Python-ideas mailing list > Python-ideas@python.org > https://mail.python.org/mailman/listinfo/python-ideas > Code of Conduct: http://python.org/psf/codeofconduct/ > >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/