pulp / oci_env

9 stars 33 forks source link

Improve remote debugging tooling #147

Open pedro-psb opened 6 months ago

pedro-psb commented 6 months ago

Problem

Couldn't run remote debugging (aka, set breakpoints inside the running server code) with the instructions provided by the README.

Context

I followed the steps in the README for debuging functional tests but it didn't work.

After some research + trial-and-error, I was able to make it work with:

# Setting the breakpoint in the code
#   I've relied on the already exposed 12345, which I don't know if have another purpose
import epdb; epdb.serve(port=12345)

# Attaching pdb from another terminal
#   from here: https://github.com/ionelmc/python-remote-pdb#usage
sudo dnf install rlwrap socat
rlwrap socat - tcp:127.0.0.1:12345

But still, epdb doesn't have a very good documentation and is unmaintained in years.

Proposal

I'd like to have better builtin support for remote debugging out-of-the-box.

The idea I have for this is using remote-pdb, which has slighly better documentation and tooling. For example, it can be configured via envvars to integrate with regular breakpoints(). oci-env could set those envvars by default and we don't have to worry about porting and can use normal breakpoints() syntax.

Alternatives

  1. Continue using epdb and update README instructions
  2. Look another tool with convenient remote-debug capability and update README
rochacbruno commented 6 months ago

I have used https://github.com/ryanpetrello/sdb on galaxy dev env, we can ask @ryanpetrello if this is still activelly maintained

ryanpetrello commented 6 months ago

Hey @rochacbruno,

sdb is still a tool I and others use regularly and that I actively maintain. It doesn’t receive updates very often, as it’s a simple library that’s feature complete, but I feel confident it provides the type of behavior that @pedro-psb is describing.

I’m no longer at Red Hat, but I do suspect there’s a handful of people within the Ansible/Tower/Controller ecosystem that may use it as well and may care to weigh in with their own opinions/experiences.

pedro-psb commented 6 months ago

Yeah, it looks like a good pick. Thanks for sharing!