1. 14
  1.  

  2. 2

    Very useful thing, especially when you can spawn more than one concurrent “straces” (handy for multiple variants of the same binary).

    As strace is also very helpful for sysadmins too (we have a prover here that you can debug almost anything with strace + tcpdump), I just thrown it on my company’s internal mailing list. Hope they’ll appreciate it.

    But the distribution model for such “sysadmin toolbelt” tools in Python is kinda problematic for old-timers who use CentOS 7 on their desktop, still have Perl as default lang and only started diggging Py2 recently. There should be a way to contain whole dependency trail + interpreter of such package into single static binary to put in /usr/local/bin like they do.

    Also for portability on remote servers, which is a more reasonable argument for most of you.

    1. 2

      It’s available as a Docker image, if that helps (tho I doubt it if the env is locked down):

      docker pull imiell/autotrace

      I could look at unrolling to single python file somehow… would that help?

      1. 1

        That’s no problem for me, I can use pip install --user … and have $HOME/bin on my $PATH.

        Docker container is of course very handy, but I don’t think it would appeal for such people I described above because it’s “too hip”.

        Don’t get me wrong, I’m not strictly looking at this particular software at this time, but wondering a bit wider about software distribution for non-C stuff which is not yet packaged by BigCo Enterprise Linuxes.

        1. 1

          Unfortunately the “static binary” story on Python is pretty meh right now. Perhaps one day there will be support in the interpreter for creating things like that.

      2. 2

        BTW, one thing I learned while doing this was that you can’t run strace and ltrace on the same pid. Or at least it looked that way to me. So I wonder whether you can run two straces?

        1. 1

          There should be a way to contain whole dependency trail + interpreter of such package into single static binary to put in /usr/local/bin like they do.

          try https://lobste.rs/s/os2xxj/exodus_painless_relocation_linux

          1. 1

            That doesn’t create a single static binary as far as I can tell.