Pushing back on sys.monitoring
Briefly

The gap is in the branch events: when one is fired, it tells you the bytecode offset of the source and destination. The problem is that disabling a branch event disables the source offset. You never hear about that source offset again, even when the destination offset is different.
If we leave the branch event enabled, then we might be repeatedly told about the same source/destination pair, slowing down execution. If we disable the branch event immediately, we'll never hear about the other possible destination and the coverage data will be incomplete.
Read at Nedbatchelder
[
]
[
|
]