This is the mail archive of the mailing list for the systemtap project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] systemtap: system-wide probe/trace tool branch, jistone/stapsh, created. release-1.4-156-g9067123

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".

The branch, jistone/stapsh has been created
        at  906712366a181e03841c178b9b45c969cbc7d8d0 (commit)

- Log -----------------------------------------------------------------
commit 906712366a181e03841c178b9b45c969cbc7d8d0
Author: Josh Stone <>
Date:   Fri Mar 11 15:54:43 2011 -0800

    stapsh: Remove the signal command, just call it quit
    As PrzemysÅ?aw pointed out, signal numbers are not 100% portable across
    different architectures, and we should allow for the possibility of
    cross-compilation in --remote execution.  Since the only point of the
    signal command was to trigger an exit, let's just replace it with a
    "quit" command.
    * runtime/staprun/stapsh.c (do_signal -> do_quit): Forget about parsing
      signal numbers -- just call cleanup (which sends SIGUP anyway).
      (cleanup): Mask signals, so if called from non-signal context, we
      won't get a reentry (especially for SIGCHLD).
    * remote.cxx (stapsh::handle_poll): Send a quit instead of signal.

commit 599c80df69591b8c3fb10ab4f817d58f17bce904
Author: Josh Stone <>
Date:   Thu Mar 10 18:50:35 2011 -0800

    stapsh: Upload module signatures and uprobes too
    * remote.cxx (stapsh::prepare): Upload any uprobes and signature files
      to the remote, so remote-unprivileged could work too.

commit 3fe776ae575e0b936431f8f38565795ce2930cc9
Author: Josh Stone <>
Date:   Thu Mar 10 16:43:53 2011 -0800

    remote: Split preparation from the actual start
    * remote.h (remote::prepare): New, get ready to run.
    * remote.cxx (stapsh::start, stapsh::prepare): Split the file-upload into
      the prepare step, so we're ready to go sooner.
      (remote::run): Let remotes prepare first, so they can all start as
      close together as possible.

commit bf9c0b2809b0d2bc2c28ac83e5006795749cd9dc
Author: Josh Stone <>
Date:   Thu Mar 10 16:35:42 2011 -0800

    stapsh: Use quoted-printable args in the run command
    Per Frank's suggestion, discard the separate "arg" command and just add
    arguments directly in the run command.  The quoted-printable encoding is
    used for whitespace and characters that aren't printable ASCII.
    * runtime/staprun/stapsh.c (do_arg): Remove.
      (qpdecode): New, decode quoted-printable.
      (do_run): Read and QP-decode arguments for staprun.
    * remote.cxx (stapsh::send_arg): Remove.
      (stapsh::qpencode): New, encode a string with QP escapes.
      (stapsh::start): Build the run command with QP-encoded arguments.

commit e96f22574ba6b053ea43b2549ae8d658f923fb10
Author: Josh Stone <>
Date:   Wed Mar 9 10:24:12 2011 -0800

    stapsh: A systemtap "shell" to aid remote execution
    This stapsh agent is a wrapper meant to be automatically invoked through
    an ssh connection to transfer systemtap modules to remotes hosts and
    invoke staprun on them.  The primary motivation of stapsh is make sure
    all the exit cases can happen cleanly, especially with sending signals
    to the remote and cleaning up the processes and temporary files.
    This is meant to replace the code based on multiple connections with an
    ssh ControlMaster.  For now, that code has only been #if'ed out in
    case we still want it for talking with "legacy" remotes.
    * runtime/staprun/stapsh.c: New, a basic command shell for uploading and
      remotely launching systemtap scripts.
    * runtime/staprun/ Add stapsh.
    * runtime/staprun/ Regen.
    * systemtap.spec: Package stapsh in systemtap-runtime.
    * remote.cxx (class stapsh): New, handle communication with a stapsh
      remote via any given file descriptors.
      (class direct_stapsh): New, launch a direct stapsh instance to run
      through.  This way we can add stapsh to the testsuite without
      requiring any remote access configuration.
      (class ssh_remote): Block out the old implementation, and rewrite
      as an inheritor of stapsh.
      (remote::create): Create direct_stapsh for "--remote stapsh".
      (remote::run): Add a polling loop during runtime, where each remote
      can add fds to watch and then respond.
    * util.cxx (stap_spawn_piped): Allow piped stdin too.
      (stap_system_read): Update call to stap_spawn_piped.


systemtap: system-wide probe/trace tool

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]