-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
debuggerdiscussionenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
In tractor every actor is both a (potential) client and server. Concocting a "native" feeling "remote debugger" shouldn't be that bad (they thought naively..), right?
I did a little digging and asked all the cool peeps what they use. Well here's a list of interesting stuff:
popular Python remote debuggers
- qdb from quantopian
- ptvsd the python debugger for VS from the microsoft
- celery.contrib.rdb from the celery peeps
- python-remote-pdb from one of the
pytestdevs - epdb and extended
pdb- looks a little unmaintained tho - pdb++ discussion on better support for remote debugging
What I want:
- write
breakpoint()in actor code andtractordoes the right thing and yields std stream control in FIFO order to whatever actor got their message to the parent first - first class support for
pdbpp, it's just too good not to use - the ability to switch between multiple actors who have breakpoints in a sensible way much like
gdbdoes with threads
Profiling and other possible tools and approaches
A WIP list of tooling/instrumentation that might add to and/or inspire ideas for the future!
- https://mikelevins.github.io/posts/2020-12-18-repl-driven/
- https://trio.readthedocs.io/en/stable/reference-lowlevel.html?highlight=instrument#debugging-and-instrumentation
- https://tokio.rs/blog/2021-12-announcing-tokio-console
- hot code reloading from erlang and friends:
REPL driven, would love to have, features
- it's worth reading a bit of theory on metaobjects
ptkhas utils for not clobbering stdout which would be super handy for having multiple actors logging while your in the middle of debugging a crash.- %autoreload support from
ipython rsyscall'swishAPI
As always, lurkers feel free to pipe in with ideas 🏄♂️
Metadata
Metadata
Assignees
Labels
debuggerdiscussionenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed