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/

Reply via email to