[SCM] systemtap: system-wide probe/trace tool branch, jistone/stapsh, created. release-1.4-156-g7185074
jistone@sourceware.org
jistone@sourceware.org
Sat Mar 12 01:20:00 GMT 2011
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 7185074b5c2f159b00f903bead9118e4a897ae8f (commit)
- Log -----------------------------------------------------------------
commit 7185074b5c2f159b00f903bead9118e4a897ae8f
Author: Josh Stone <jistone@redhat.com>
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 SIGHUP 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 <jistone@redhat.com>
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 <jistone@redhat.com>
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 <jistone@redhat.com>
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 <jistone@redhat.com>
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/Makefile.am: Add stapsh.
* runtime/staprun/Makefile.in: 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.
-----------------------------------------------------------------------
hooks/post-receive
--
systemtap: system-wide probe/trace tool
More information about the Systemtap-cvs
mailing list