donkirkby / donkirkby/live-py-plugin

Tracing code traces the live-py code

Open
#49 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
302
Forks
63
Avg merge
6h 50m
Merged PRs (30d)
2

Description

Here's an example that shows how the user's code is drowned out by the live-py code. It never even gets to the `foo()` method before it hits the message limit.

```
import sys | RuntimeError: live coding message limit exceeded
|
|
def traceit(frame, event, arg): | event = 'call' arg = None | event = 'line' arg = None | event = 'line' arg = None | event = 'call' arg = None | event = 'line' arg = None | event = 'line' arg = None ...(trimmed)
location = frame.f_code.co_name, frame.f_lineno | location = ('record_call', 125) | location = ('record_call', 131) | location = ('record_call', 133) | location = ('record_call', 125) | location = ('record_call', 131) | location = ('record_call', 133) ...(trimmed)
return traceit | return | return | | return | return | return

Contributor guide

Open the contributing guide

Research direction

Start by locating the live-py tracing setup and the code that handles the message limit, then inspect how sys.settrace is used. Reproduce the issue with the example in the report. Done means tracing the user's code reaches foo() without live-py frames drowning out the user's trace output.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.