[libvirt] [PATCH 1/2] Add dtrace static probes in libvirtd

Daniel Veillard veillard at redhat.com
Thu Oct 21 19:59:55 UTC 2010


On Thu, Oct 21, 2010 at 07:19:32PM +0100, Daniel P. Berrange wrote:
> Adds initial support for dtrace static probes in libvirtd
> daemon, assuming use of systemtap dtrace compat shim on
> Linux. The probes are inserted for network client connect,
> disconnect, TLS handshake states and authentication protocol
> states.
> 
> This can be tested by running the xample program and then
> attempting to connect with any libvirt client (virsh,
> virt-manager, etc).
> 
>  # stap examples/systemtap/client.stp
>   Client fd=44 connected readonly=0
>   Client fd=44 auth polkit deny pid:24997,uid:500
>   Client fd=44 disconnected
>   Client fd=46 connected readonly=1
>   Client fd=46 auth sasl allow test
>   Client fd=46 disconnected
> 
> For unknown reasons, libvirtd must be restarted after
> the stap script is launched, otherwise the probes are
> not enabled. This bug needs to be fixed, probably in
> systemtap itself, to allow probing an existing running
> daemon.

  Wasn't that problem found ? I though so ...

> The connect/disconnect events need to be augmented to
> include the socket address data.
> 
> The libvirtd.stp file should also really not be required,
> since it is duplicated info that is already available in
> the main probes.d definition file. A script to autogenerate
> the .stp file is needed, either in libvirtd tree, or better
> as part of systemtap itself.
> 
> * Makefile.am: Add examples/systemtap subdir
> * autobuild.sh: Disable dtrace for mingw32
> * configure.ac: Add check for dtrace
> * daemon/.gitignore: Ignore generated dtrace probe file
> * daemon/Makefile.am: Build dtrace probe header & object
>   files
> * daemon/libvirtd.stp: SystemTAP convenience probeset
> * daemon/libvirtd.c: Add connect/disconnect & TLS probes
> * daemon/remote.c: Add SASL and PolicyKit auth probes
> * daemon/probes.d: Master probe definition
> * daemon/libvirtd.h: Add convenience macro for probes
>   so that compilation is a no-op when dtrace is not available
> * examples/systemtap/Makefile.am, examples/systemtap/client.stp
>   Example systemtap script using dtrace probe markers
> * libvirt.spec.in: Enable dtrace on F13/RHEL6
> * mingw32-libvirt.spec.in: Force disable dtrace

  Patch looks very similar to the first version. Dunno if you want
to push the set early or wait for a more complete support check,

  ACK

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list