mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 05:17:59 +03:00
968eb4e5cd
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 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
101 lines
3.0 KiB
Makefile
101 lines
3.0 KiB
Makefile
## Process this file with automake to produce Makefile.in
|
|
|
|
LCOV = lcov
|
|
GENHTML = genhtml
|
|
|
|
SUBDIRS = gnulib/lib include src daemon tools proxy docs gnulib/tests \
|
|
python tests po examples/domain-events/events-c examples/hellolibvirt \
|
|
examples/dominfo examples/domsuspend examples/python examples/apparmor \
|
|
examples/xml/nwfilter examples/openauth examples/systemtap
|
|
|
|
ACLOCAL_AMFLAGS = -I m4 -I gnulib/m4
|
|
|
|
XML_EXAMPLES = \
|
|
$(patsubst $(srcdir)/%,%,$(wildcard $(addprefix $(srcdir)/examples/xml/, \
|
|
test/*.xml storage/*.xml)))
|
|
|
|
EXTRA_DIST = \
|
|
ChangeLog-old \
|
|
libvirt.spec libvirt.spec.in \
|
|
mingw32-libvirt.spec.in \
|
|
libvirt.pc libvirt.pc.in \
|
|
autobuild.sh \
|
|
.x-sc_avoid_ctype_macros \
|
|
.x-sc_avoid_if_before_free \
|
|
.x-sc_avoid_write \
|
|
.x-sc_m4_quote_check \
|
|
.x-sc_prohibit_asprintf \
|
|
.x-sc_prohibit_gethostby \
|
|
.x-sc_prohibit_gethostname \
|
|
.x-sc_prohibit_gettext_noop \
|
|
.x-sc_prohibit_have_config_h \
|
|
.x-sc_prohibit_HAVE_MBRTOWC \
|
|
.x-sc_prohibit_nonreentrant \
|
|
.x-sc_prohibit_strcmp \
|
|
.x-sc_prohibit_strcmp_and_strncmp \
|
|
.x-sc_prohibit_strncpy \
|
|
.x-sc_prohibit_test_minus_ao \
|
|
.x-sc_prohibit_VIR_ERR_NO_MEMORY \
|
|
.x-sc_require_config_h \
|
|
.x-sc_require_config_h_first \
|
|
.x-sc_trailing_blank \
|
|
Makefile.nonreentrant \
|
|
autogen.sh \
|
|
examples/domain-events/events-python \
|
|
$(XML_EXAMPLES)
|
|
|
|
pkgconfigdir = $(libdir)/pkgconfig
|
|
pkgconfig_DATA = libvirt.pc
|
|
|
|
NEWS: $(top_srcdir)/docs/news.xsl $(top_srcdir)/docs/news.html.in
|
|
-@(if [ -x $(XSLTPROC) ] ; then \
|
|
$(XSLTPROC) --nonet $(top_srcdir)/docs/news.xsl \
|
|
$(top_srcdir)/docs/news.html.in \
|
|
| perl -0777 -pe 's/\n\n+$$/\n/' \
|
|
| perl -pe 's/[ \t]+$$//' \
|
|
> $@-t && mv $@-t $@ ; fi );
|
|
|
|
|
|
rpm: clean
|
|
@(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz)
|
|
|
|
check-local: all tests
|
|
|
|
tests:
|
|
@(cd docs/examples ; $(MAKE) MAKEFLAGS+=--silent tests)
|
|
@(if [ "$(pythondir)" != "" ] ; then cd python ; \
|
|
$(MAKE) MAKEFLAGS+=--silent tests ; fi)
|
|
|
|
cov: clean-cov
|
|
mkdir $(top_builddir)/coverage
|
|
$(LCOV) -c -o $(top_builddir)/coverage/libvirt.info.tmp \
|
|
-d $(top_builddir)/src -d $(top_builddir)/daemon \
|
|
-d $(top_builddir)/tests
|
|
$(LCOV) -r $(top_builddir)/coverage/libvirt.info.tmp \
|
|
-o $(top_builddir)/coverage/libvirt.info
|
|
rm $(top_builddir)/coverage/libvirt.info.tmp
|
|
$(GENHTML) --show-details -t "libvirt" -o $(top_builddir)/coverage \
|
|
--legend $(top_builddir)/coverage/libvirt.info
|
|
|
|
clean-cov:
|
|
rm -rf $(top_builddir)/coverage
|
|
|
|
MAINTAINERCLEANFILES = .git-module-status
|
|
|
|
# disable this check
|
|
distuninstallcheck:
|
|
|
|
dist-hook: gen-ChangeLog
|
|
|
|
# Generate the ChangeLog file (with all entries since the switch to git)
|
|
# and insert it into the directory we're about to use to create a tarball.
|
|
gen_start_date = 2009-07-04
|
|
.PHONY: gen-ChangeLog
|
|
gen-ChangeLog:
|
|
if test -d .git; then \
|
|
$(top_srcdir)/build-aux/gitlog-to-changelog \
|
|
--since=$(gen_start_date) > $(distdir)/cl-t; \
|
|
rm -f $(distdir)/ChangeLog; \
|
|
mv $(distdir)/cl-t $(distdir)/ChangeLog; \
|
|
fi
|