Repairing profiling and tracing in Python 3.13

Hi all,

the implementation of the monitoring system (PEP-669) in Python 3.12 broke tools that hooked into Python’s tracing infrastructure for injecting trace calls. Specifically, Cython and other language implementations can no longer report tracing or profiling events. I’ve basically given up on Python 3.12 since it seems broken beyond repair (or at least too late to fix), but during the development of Python 3.13, I’d like to see this functionality repaired in CPython again. Most of it is now hidden, partially disabled, incompletely adapted or was deleted, which makes interacting with the new monitoring system really difficult.

I’ve created issue C-API for signalling monitoring events · Issue #111997 · python/cpython · GitHub to discuss this, but received no feedback so far, so I’m asking for support here, specifically of those who were involved in implementing the monitoring system. We really can’t leave it in the currently incomplete state.

Please comment on the ticket since I’m only irregularly looking here.

Best,
Stefan

7 Likes

I temptatively marked the issue as release blocker for 3.13, but I have no power to solve it.

1 Like

I will personally make sure this ball isn’t dropped.

7 Likes