src/common: use single Makefile for parallel builds
authorMichael Jeanson <mjeanson@efficios.com>
Fri, 19 Nov 2021 20:40:09 +0000 (15:40 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 4 Feb 2022 23:01:07 +0000 (18:01 -0500)
Use a single Makefile in 'src/common' as it contains multiple
subdirectories with a small number of objects to compile. This allows
faster parallel builds since parallelism in automake is applied per
Makefile.

There is anectodal evidence of a 25 seconds improvement to the build
process on a 36 core machine.

Change-Id: If2ce266050e345d58b00bf65b574ccf5168f28f1
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
36 files changed:
configure.ac
extras/bindings/swig/python/Makefile.am
src/bin/lttng-consumerd/Makefile.am
src/bin/lttng-crash/Makefile.am
src/bin/lttng-relayd/Makefile.am
src/bin/lttng-sessiond/Makefile.am
src/bin/lttng/Makefile.am
src/common/Makefile.am
src/common/argpar-utils/Makefile.am [deleted file]
src/common/argpar/Makefile.am [deleted file]
src/common/bytecode/Makefile.am [deleted file]
src/common/compat/Makefile.am [deleted file]
src/common/config/Makefile.am [deleted file]
src/common/config/session.xsd [deleted file]
src/common/consumer/Makefile.am [deleted file]
src/common/fd-tracker/Makefile.am [deleted file]
src/common/filter/Makefile.am [deleted file]
src/common/hashtable/Makefile.am [deleted file]
src/common/health/Makefile.am [deleted file]
src/common/index/Makefile.am [deleted file]
src/common/ini-config/Makefile.am [deleted file]
src/common/kernel-consumer/Makefile.am [deleted file]
src/common/kernel-ctl/Makefile.am [deleted file]
src/common/relayd/Makefile.am [deleted file]
src/common/session.xsd [new file with mode: 0644]
src/common/sessiond-comm/Makefile.am [deleted file]
src/common/string-utils/Makefile.am [deleted file]
src/common/testpoint/Makefile.am [deleted file]
src/common/ust-consumer/Makefile.am [deleted file]
src/lib/lttng-ctl/Makefile.am
tests/regression/tools/notification/Makefile.am
tests/regression/tools/save-load/test_autoload
tests/regression/tools/save-load/test_load
tests/regression/tools/trigger/utils/Makefile.am
tests/unit/Makefile.am
tests/utils/utils.sh

index 6166b25a0bc60a805ed60fa24d966ccb69f86d5c..a8f595a2c17ed39c879ffc08a4fc19a406ae915f 100644 (file)
@@ -1142,25 +1142,6 @@ AC_CONFIG_FILES([
        extras/core-handler/Makefile
        src/Makefile
        src/common/Makefile
-       src/common/argpar/Makefile
-       src/common/argpar-utils/Makefile
-       src/common/bytecode/Makefile
-       src/common/kernel-ctl/Makefile
-       src/common/kernel-consumer/Makefile
-       src/common/consumer/Makefile
-       src/common/ust-consumer/Makefile
-       src/common/hashtable/Makefile
-       src/common/sessiond-comm/Makefile
-       src/common/compat/Makefile
-       src/common/relayd/Makefile
-       src/common/testpoint/Makefile
-       src/common/index/Makefile
-       src/common/health/Makefile
-       src/common/config/Makefile
-       src/common/ini-config/Makefile
-       src/common/string-utils/Makefile
-       src/common/fd-tracker/Makefile
-       src/common/filter/Makefile
        src/lib/Makefile
        src/lib/lttng-ctl/Makefile
        src/lib/lttng-ctl/lttng-ctl.pc
index 73428d9bef9b54fdd208ced14e09b1c2a4b392f6..15dea077dedce8cb3f99b3c57aa5dc4b7132459f 100644 (file)
@@ -21,7 +21,7 @@ MAINTAINERCLEANFILES = lttng_wrap.c lttng.py
 nodist__lttng_la_SOURCES = lttng_wrap.c
 _lttng_la_LDFLAGS = -module
 _lttng_la_LIBADD =     $(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la               \
-                       $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la            \
+                       $(top_builddir)/src/common/libsessiond-comm.la          \
                        $(top_builddir)/src/common/libcommon-gpl.la
 
 lttng_wrap.c: lttng.i
index 82df3e3753101867d8deb31ed894cfdb404d2c84..19bc7ed4cda4f6e8463e75190758b48538d740d6 100644 (file)
@@ -9,11 +9,11 @@ lttng_consumerd_SOURCES = \
        health-consumerd.h
 
 lttng_consumerd_LDADD = \
-          $(top_builddir)/src/common/consumer/libconsumer.la \
+          $(top_builddir)/src/common/libconsumer.la \
           $(top_builddir)/src/common/libcommon-gpl.la \
-          $(top_builddir)/src/common/index/libindex.la \
-          $(top_builddir)/src/common/health/libhealth.la \
-          $(top_builddir)/src/common/testpoint/libtestpoint.la
+          $(top_builddir)/src/common/libindex.la \
+          $(top_builddir)/src/common/libhealth.la \
+          $(top_builddir)/src/common/libtestpoint.la
 
 lttng_consumerd_LDFLAGS = -rdynamic
 
index 5d3946b0377e2dca75fa5c0435650af6f103c463..59a5bfa0c891389d8eca51f0338261f9b4675052 100644 (file)
@@ -11,4 +11,4 @@ bin_PROGRAMS = lttng-crash
 lttng_crash_SOURCES = lttng-crash.cpp
 
 lttng_crash_LDADD = $(top_builddir)/src/common/libcommon-gpl.la \
-                       $(top_builddir)/src/common/config/libconfig.la
+                       $(top_builddir)/src/common/libconfig.la
index 9fe11f287b7221dd24f4744df1bfb17ac5ddc510..afb435f06e76609bb6d7f0f86473282849e3b0d3 100644 (file)
@@ -30,8 +30,8 @@ lttng_relayd_SOURCES = main.cpp lttng-relayd.h utils.h utils.cpp cmd.h \
 # link on liblttngctl for check if relayd is already alive.
 lttng_relayd_LDADD = $(URCU_LIBS) \
                $(top_builddir)/src/common/libcommon-gpl.la \
-               $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la \
-               $(top_builddir)/src/common/compat/libcompat.la \
-               $(top_builddir)/src/common/index/libindex.la \
-               $(top_builddir)/src/common/health/libhealth.la \
-               $(top_builddir)/src/common/testpoint/libtestpoint.la
+               $(top_builddir)/src/common/libsessiond-comm.la \
+               $(top_builddir)/src/common/libcompat.la \
+               $(top_builddir)/src/common/libindex.la \
+               $(top_builddir)/src/common/libhealth.la \
+               $(top_builddir)/src/common/libtestpoint.la
index 85f9cea2cc9f5a10360640e8279156cd7e3d6e72..96a20a4dda4bcc8f9de4a88ae5a44540e6e7a5ad 100644 (file)
@@ -70,15 +70,15 @@ endif
 # link on liblttngctl for check if sessiond is already alive.
 liblttng_sessiond_common_la_LIBADD = $(URCU_LIBS) $(KMOD_LIBS) \
                $(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la \
-               $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la \
-               $(top_builddir)/src/common/kernel-ctl/libkernel-ctl.la \
+               $(top_builddir)/src/common/libsessiond-comm.la \
+               $(top_builddir)/src/common/libkernel-ctl.la \
                $(top_builddir)/src/common/libcommon-gpl.la \
-               $(top_builddir)/src/common/compat/libcompat.la \
-               $(top_builddir)/src/common/relayd/librelayd.la \
-               $(top_builddir)/src/common/testpoint/libtestpoint.la \
-               $(top_builddir)/src/common/health/libhealth.la \
-               $(top_builddir)/src/common/config/libconfig.la \
-               $(top_builddir)/src/common/string-utils/libstring-utils.la
+               $(top_builddir)/src/common/libcompat.la \
+               $(top_builddir)/src/common/librelayd.la \
+               $(top_builddir)/src/common/libtestpoint.la \
+               $(top_builddir)/src/common/libhealth.la \
+               $(top_builddir)/src/common/libconfig.la \
+               $(top_builddir)/src/common/libstring-utils.la
 
 
 if HAVE_LIBLTTNG_UST_CTL
index b06c95bd705d1c44c5700ad12e13cae8b8e87897..67bd92097ecb4ce83f51a9cc9d54c42aa6379ebd 100644 (file)
@@ -41,9 +41,9 @@ lttng_CXXFLAGS = $(AM_CXXFLAGS) $(POPT_CFLAGS)
 lttng_LDADD = $(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la \
                        $(top_builddir)/src/common/libcommon-lgpl.la \
                        $(top_builddir)/src/common/libpath.la \
-                       $(top_builddir)/src/common/config/libconfig.la \
-                       $(top_builddir)/src/common/string-utils/libstring-utils.la \
-                       $(top_builddir)/src/common/filter/libfilter.la \
-                       $(top_builddir)/src/common/argpar-utils/libargpar-utils.la \
-                       $(top_builddir)/src/common/argpar/libargpar.la \
+                       $(top_builddir)/src/common/libconfig.la \
+                       $(top_builddir)/src/common/libstring-utils.la \
+                       $(top_builddir)/src/common/libfilter.la \
+                       $(top_builddir)/src/common/libargpar-utils.la \
+                       $(top_builddir)/src/common/libargpar.la \
                        $(POPT_LIBS)
index 1ac4874a02a5f50589a11e7a309167aef0dec50e..613e03a4af34042d4f51a51a4964cb6f0d533fd0 100644 (file)
@@ -1,50 +1,50 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
 AUTOMAKE_OPTIONS = subdir-objects
+noinst_LTLIBRARIES =
+
+BUILT_SOURCES =
+
+noinst_HEADERS = \
+       align.h \
+       bug.h \
+       defaults.h \
+       error.h \
+       futex.h \
+       lttng-kernel.h \
+       lttng-kernel-old.h \
+       macros.h \
+       time.h \
+       uri.h \
+       utils.h
+
+
+# libargpar
+noinst_LTLIBRARIES += libargpar.la
+libargpar_la_SOURCES = \
+       argpar/argpar.c \
+       argpar/argpar.h
+
+
+# libargpar-utils
+noinst_LTLIBRARIES += libargpar-utils.la
+libargpar_utils_la_SOURCES = \
+       argpar-utils/argpar-utils.cpp \
+       argpar-utils/argpar-utils.h
+
+
+# libbytecode
+noinst_LTLIBRARIES += libbytecode.la
+libbytecode_la_SOURCES = \
+       bytecode/bytecode.cpp \
+       bytecode/bytecode.h
 
-SUBDIRS = \
-       argpar \
-       bytecode \
-       compat \
-       config \
-       ini-config \
-       fd-tracker \
-       string-utils \
-       filter \
-       hashtable \
-       argpar-utils
-
-# Make sure to always distribute all folders
-# since SUBDIRS is decided at configure time.
-DIST_SUBDIRS = \
-       compat \
-       health \
-       hashtable \
-       kernel-ctl \
-       sessiond-comm \
-       relayd \
-       kernel-consumer \
-       ust-consumer \
-       testpoint \
-       index \
-       config \
-       ini-config \
-       consumer \
-       string-utils \
-       fd-tracker \
-       bytecode \
-       filter \
-       argpar \
-       argpar-utils
-
-# Common library
-noinst_LTLIBRARIES = libpath.la libcommon-lgpl.la libcommon-gpl.la
-EXTRA_DIST = mi-lttng-4.1.xsd
 
 # The libcommon-lgpl static archive contains only LGPLv2.1 code. It is
 # meant to be used by LGPLv2.1 libraries such as liblttng-ctl. It also
 # contains libcommon-lgpl.la.
 
+noinst_LTLIBRARIES += libcommon-lgpl.la
 libcommon_lgpl_la_SOURCES = \
        actions/action.cpp \
        actions/list.cpp \
@@ -109,22 +109,24 @@ libcommon_lgpl_la_SOURCES += \
 endif
 
 libcommon_lgpl_la_LIBADD = \
-       $(top_builddir)/src/common/bytecode/libbytecode.la \
-       $(top_builddir)/src/common/compat/libcompat.la \
-       $(top_builddir)/src/common/config/libconfig.la \
-       $(top_builddir)/src/common/filter/libfilter.la \
-       $(top_builddir)/src/common/hashtable/libhashtable-lgpl.la \
+       libbytecode.la \
+       libcompat.la \
+       libconfig.la \
+       libfilter.la \
+       libhashtable-lgpl.la \
        $(top_builddir)/src/vendor/msgpack/libmsgpack.la
 
+
 # The libpath static archive contains GPLv2 compatible code. It is
 # meant to be used by GPL executables.
-
+noinst_LTLIBRARIES += libpath.la
 libpath_la_SOURCES = \
        path.cpp path.h
 
+
 # The libcommon-gpl static archive contains GPLv2 compatible code. It is
 # meant to be used by GPL executables.
-
+noinst_LTLIBRARIES += libcommon-gpl.la
 libcommon_gpl_la_SOURCES = \
        common.h \
        context.cpp context.h \
@@ -145,64 +147,282 @@ libcommon_gpl_la_SOURCES = \
 libcommon_gpl_la_LIBADD = \
        libcommon-lgpl.la \
        libpath.la \
-       $(top_builddir)/src/common/ini-config/libini-config.la \
-       $(top_builddir)/src/common/hashtable/libhashtable-gpl.la \
-       $(top_builddir)/src/common/fd-tracker/libfd-tracker.la
+       libini-config.la \
+       libhashtable-gpl.la \
+       libfd-tracker.la
+
+
+# libcompat
+noinst_LTLIBRARIES += libcompat.la
+libcompat_la_SOURCES = \
+        compat/compat-fcntl.cpp \
+        compat/directory-handle.cpp \
+        compat/directory-handle.h \
+        compat/dirent.h \
+        compat/endian.h \
+        compat/errno.h \
+        compat/fcntl.h \
+        compat/getenv.h \
+        compat/mman.h \
+        compat/netdb.h \
+        compat/path.h \
+        compat/paths.h \
+        compat/poll.cpp \
+        compat/poll.h \
+        compat/pthread.h \
+        compat/socket.h \
+        compat/string.h \
+        compat/tid.h \
+        compat/time.h
+
+
+# libconfig
+noinst_LTLIBRARIES += libconfig.la
+libconfig_la_SOURCES = \
+       config/config-internal.h \
+       config/config-session-abi.h \
+       config/session-config.cpp \
+       config/session-config.h
+
+libconfig_la_CPPFLAGS = $(libxml2_CFLAGS) $(AM_CPPFLAGS)
+libconfig_la_LIBADD = ${libxml2_LIBS}
+
+
+if BUILD_LIB_CONSUMER
+noinst_LTLIBRARIES += libconsumer.la
+
+libconsumer_la_SOURCES = \
+       consumer/consumer.cpp \
+       consumer/consumer.h \
+       consumer/consumer-metadata-cache.cpp \
+       consumer/consumer-metadata-cache.h \
+       consumer/consumer-stream.cpp \
+       consumer/consumer-stream.h \
+       consumer/consumer-testpoint.h \
+       consumer/consumer-timer.cpp \
+       consumer/consumer-timer.h \
+       consumer/metadata-bucket.cpp \
+       consumer/metadata-bucket.h
+
+libconsumer_la_LIBADD = \
+       libkernel-consumer.la \
+       librelayd.la \
+       libsessiond-comm.la
+
+if HAVE_LIBLTTNG_UST_CTL
+libconsumer_la_LIBADD += \
+       libust-consumer.la
+endif
+endif # BUILD_LIB_CONSUMER
+
+
+# libfd-tracker
+noinst_LTLIBRARIES += libfd-tracker.la
+libfd_tracker_la_SOURCES = \
+       fd-tracker/fd-tracker.cpp \
+       fd-tracker/fd-tracker.h \
+       fd-tracker/inode.cpp \
+       fd-tracker/inode.h \
+       fd-tracker/utils.cpp \
+       fd-tracker/utils.h \
+       fd-tracker/utils-poll.cpp
+
+
+# libfilter
+noinst_LTLIBRARIES += libfilter.la
+
+libfilter_la_SOURCES = \
+       filter/filter-ast.h \
+       filter/filter-ir.h \
+       filter/filter-lexer.lpp \
+       filter/filter-parser.ypp \
+       filter/filter-symbols.h \
+       filter/filter-visitor-generate-bytecode.cpp \
+       filter/filter-visitor-generate-ir.cpp \
+       filter/filter-visitor-ir-check-binary-op-nesting.cpp \
+       filter/filter-visitor-ir-normalize-glob-patterns.cpp \
+       filter/filter-visitor-ir-validate-globbing.cpp \
+       filter/filter-visitor-ir-validate-string.cpp \
+       filter/filter-visitor-xml.cpp \
+       filter/memstream.h
+
+BUILT_SOURCES += filter/filter-parser.hpp
+
+libfilter_la_CXXFLAGS = -include filter-symbols.h $(AM_CXXFLAGS)
+libfilter_la_CPPFLAGS = -I$(srcdir)/filter -I$(builddir)/filter $(AM_CPPFLAGS)
+libfilter_la_LIBADD = libstring-utils.la
+
+AM_YFLAGS = -t -d -v -Wno-yacc
+
+# start with empty files to clean
+CLEANFILES =
+
+if HAVE_BISON
+# we have bison: we can clean the generated parser files
+CLEANFILES += \
+       filter/filter-parser.cpp \
+       filter/filter-parser.hpp \
+       filter/filter-parser.output
+else # HAVE_BISON
+# create target used to stop the build if we want to build the parser,
+# but we don't have the necessary tool to do so
+filter/filter-parser.cpp filter/filter-parser.hpp: filter/filter-parser.ypp
+       @echo "Error: Cannot build target because bison is missing."
+       @echo "Make sure bison is installed and run the configure script again."
+       @false
+
+BUILT_SOURCES += filter/filter-parser.cpp filter/filter-parser.hpp
+endif # HAVE_BISON
+
+if HAVE_FLEX
+# we have flex: we can clean the generated lexer files
+CLEANFILES += filter/filter-lexer.cpp
+else # HAVE_FLEX
+# create target used to stop the build if we want to build the lexer,
+# but we don't have the necessary tool to do so
+filter/filter-lexer.cpp: filter/filter-lexer.lpp
+       @echo "Error: Cannot build target because flex is missing."
+       @echo "Make sure flex is installed and run the configure script again."
+       @false
+
+BUILT_SOURCES += filter/filter-lexer.cpp
+endif # HAVE_FLEX
+
+
+noinst_LTLIBRARIES += libhashtable-lgpl.la
+libhashtable_lgpl_la_SOURCES = \
+       hashtable/seed.cpp \
+       hashtable/utils.cpp \
+       hashtable/utils.h
+
+
+noinst_LTLIBRARIES += libhashtable-gpl.la
+libhashtable_gpl_la_SOURCES = \
+       hashtable/hashtable.cpp \
+       hashtable/hashtable.h \
+       hashtable/hashtable-symbols.h
+
+libhashtable_gpl_la_LIBADD = \
+       $(URCU_LIBS) \
+       $(URCU_CDS_LIBS)
+
 
 if BUILD_LIB_HEALTH
-SUBDIRS += health
+noinst_LTLIBRARIES += libhealth.la
+
+libhealth_la_SOURCES = \
+       health/health.cpp
 endif
 
+
+# libini-config
+noinst_LTLIBRARIES += libini-config.la
+libini_config_la_SOURCES = \
+       ini-config/ini.cpp \
+       ini-config/ini.h \
+       ini-config/ini-config.cpp \
+       ini-config/ini-config.h
+
+
+if BUILD_LIB_INDEX
+noinst_LTLIBRARIES += libindex.la
+
+libindex_la_SOURCES = \
+       index/ctf-index.h \
+       index/index.cpp \
+       index/index.h
+endif
+
+
 if BUILD_LIB_KERNEL_CTL
-SUBDIRS += kernel-ctl
+noinst_LTLIBRARIES += libkernel-ctl.la
+
+libkernel_ctl_la_SOURCES = \
+       kernel-ctl/kernel-ctl.cpp \
+       kernel-ctl/kernel-ctl.h \
+       kernel-ctl/kernel-ioctl.h
 endif
 
 if BUILD_LIB_SESSIOND_COMM
-SUBDIRS += sessiond-comm
+noinst_LTLIBRARIES += libsessiond-comm.la
+
+libsessiond_comm_la_SOURCES = \
+       sessiond-comm/agent.h \
+       sessiond-comm/inet.cpp \
+       sessiond-comm/inet.h \
+       sessiond-comm/inet6.cpp \
+       sessiond-comm/inet6.h \
+       sessiond-comm/relayd.h \
+       sessiond-comm/sessiond-comm.cpp \
+       sessiond-comm/sessiond-comm.h
 endif
 
 if BUILD_LIB_RELAYD
-SUBDIRS += relayd
+noinst_LTLIBRARIES += librelayd.la
+
+librelayd_la_SOURCES = \
+       relayd/relayd.cpp \
+       relayd/relayd.h
+
+librelayd_la_LIBADD = libsessiond-comm.la
 endif
 
 
 if BUILD_LIB_KERNEL_CONSUMER
-SUBDIRS += kernel-consumer
+noinst_LTLIBRARIES += libkernel-consumer.la
+
+libkernel_consumer_la_SOURCES = \
+       kernel-consumer/kernel-consumer.cpp \
+       kernel-consumer/kernel-consumer.h
+
+libkernel_consumer_la_LIBADD = \
+       libkernel-ctl.la
 endif
 
 if BUILD_LIB_UST_CONSUMER
-SUBDIRS += ust-consumer
+if HAVE_LIBLTTNG_UST_CTL
+noinst_LTLIBRARIES += libust-consumer.la
+
+libust_consumer_la_SOURCES = \
+       ust-consumer/ust-consumer.cpp \
+       ust-consumer/ust-consumer.h
+
+libust_consumer_la_LIBADD = \
+       $(UST_CTL_LIBS)
+endif
 endif
 
 if BUILD_LIB_TESTPOINT
-SUBDIRS += testpoint
-endif
+noinst_LTLIBRARIES += libtestpoint.la
 
-if BUILD_LIB_INDEX
-SUBDIRS += index
-endif
+libtestpoint_la_SOURCES = \
+       testpoint/testpoint.cpp \
+       testpoint/testpoint.h
 
-if BUILD_LIB_CONSUMER
-SUBDIRS += consumer
+libtestpoint_la_LIBADD = $(DL_LIBS)
 endif
 
-noinst_HEADERS = \
-       align.h \
-       bug.h \
-       defaults.h \
-       error.h \
-       futex.h \
-       lttng-kernel.h \
-       lttng-kernel-old.h \
-       macros.h \
-       time.h \
-       uri.h \
-       utils.h
+
+# libstring-utils
+noinst_LTLIBRARIES += libstring-utils.la
+libstring_utils_la_SOURCES = \
+       string-utils/format.h \
+       string-utils/string-utils.cpp \
+       string-utils/string-utils.h
+
 
 noinst_PROGRAMS = filter-grammar-test
 filter_grammar_test_SOURCES = filter-grammar-test.cpp
 filter_grammar_test_LDADD = libcommon-gpl.la
 
+EXTRA_DIST = \
+       mi-lttng-4.1.xsd \
+       session.xsd
+
+xmldir = $(datadir)/xml/lttng
+dist_xml_DATA = session.xsd
+
+# Copy EXTRA_DIST files to the build directory
 all-local:
        @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
                for script in $(EXTRA_DIST); do \
diff --git a/src/common/argpar-utils/Makefile.am b/src/common/argpar-utils/Makefile.am
deleted file mode 100644 (file)
index 53425cd..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-noinst_LTLIBRARIES = libargpar-utils.la
-
-libargpar_utils_la_SOURCES = \
-       argpar-utils.cpp \
-       argpar-utils.h
diff --git a/src/common/argpar/Makefile.am b/src/common/argpar/Makefile.am
deleted file mode 100644 (file)
index 175526a..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-noinst_LTLIBRARIES = libargpar.la
-
-libargpar_la_SOURCES = argpar.c argpar.h
diff --git a/src/common/bytecode/Makefile.am b/src/common/bytecode/Makefile.am
deleted file mode 100644 (file)
index ac7509b..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libbytecode.la
-
-libbytecode_la_SOURCES = \
-       bytecode.cpp \
-       bytecode.h
diff --git a/src/common/compat/Makefile.am b/src/common/compat/Makefile.am
deleted file mode 100644 (file)
index 0499b35..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libcompat.la
-
-libcompat_la_SOURCES = \
-        compat-fcntl.cpp \
-        directory-handle.cpp \
-        directory-handle.h \
-        dirent.h \
-        endian.h \
-        errno.h \
-        fcntl.h \
-        getenv.h \
-        mman.h \
-        netdb.h \
-        path.h \
-        paths.h \
-        poll.cpp \
-        poll.h \
-        pthread.h \
-        socket.h \
-        string.h \
-        tid.h \
-        time.h
diff --git a/src/common/config/Makefile.am b/src/common/config/Makefile.am
deleted file mode 100644 (file)
index a273523..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libconfig.la
-
-libconfig_la_SOURCES = \
-       config-internal.h \
-       config-session-abi.h \
-       session-config.cpp \
-       session-config.h
-libconfig_la_CPPFLAGS = $(libxml2_CFLAGS) $(AM_CPPFLAGS)
-libconfig_la_LIBADD = ${libxml2_LIBS}
-
-xmldir = $(datadir)/xml/lttng
-dist_xml_DATA = session.xsd
-EXTRA_DIST = session.xsd
-
-all-local:
-       @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
-               for script in $(EXTRA_DIST); do \
-               cp -f $(srcdir)/$$script $(builddir); \
-               done; \
-       fi
-
-clean-local:
-       @if [ x"$(srcdir)" != x"$(builddir)" ]; then \
-               for script in $(EXTRA_DIST); do \
-               rm -f $(builddir)/$$script; \
-               done; \
-       fi
diff --git a/src/common/config/session.xsd b/src/common/config/session.xsd
deleted file mode 100644 (file)
index 986fb2d..0000000
+++ /dev/null
@@ -1,534 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Copyright (C) 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
-
-SPDX-License-Identifier: MIT
-
--->
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
-elementFormDefault="qualified" version="2.12">
-
-<xs:simpleType name="name_type">
-       <xs:restriction base="xs:string">
-               <xs:maxLength value="255"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="uint64_type">
-       <xs:restriction base="xs:integer">
-               <xs:minInclusive value="0"/>
-               <xs:maxInclusive value="18446744073709551615"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="uint32_type">
-       <xs:restriction base="xs:integer">
-               <xs:minInclusive value="0"/>
-               <xs:maxInclusive value="4294967295"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<!--
-Maps to the range allowed for blocking timeout: -1 (block forever),
-0 (do not block), positive integer value (blocking time in usec) limited
-by its signed 32-bit representation when converted to msec.
--->
-<xs:simpleType name="blocking_timeout_type">
-       <xs:restriction base="xs:integer">
-               <xs:minInclusive value="-1" />
-               <xs:maxInclusive value="2147483648000" />
-       </xs:restriction>
-</xs:simpleType>
-
-<xs:simpleType name="channel_overwrite_mode_type">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="DISCARD"/>
-               <xs:enumeration value="OVERWRITE"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_event_output enum -->
-<xs:simpleType name="event_output_type">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="SPLICE"/>
-               <xs:enumeration value="MMAP"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_loglevel_type enum -->
-<xs:simpleType name="loglevel_type">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="ALL"/>
-               <xs:enumeration value="RANGE"/>
-               <xs:enumeration value="SINGLE"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_event_type enum -->
-<xs:simpleType name="event_type_type">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="ALL"/>
-               <xs:enumeration value="TRACEPOINT"/>
-               <xs:enumeration value="PROBE"/>
-               <xs:enumeration value="USERSPACE_PROBE"/>
-               <xs:enumeration value="FUNCTION"/>
-               <xs:enumeration value="FUNCTION_ENTRY"/>
-               <xs:enumeration value="NOOP"/>
-               <xs:enumeration value="SYSCALL"/>
-               <xs:enumeration value="KPROBE"/>
-               <xs:enumeration value="KRETPROBE"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<xs:complexType name="event_probe_attributes_type">
-       <xs:all>
-               <xs:element name="symbol_name" type="name_type" minOccurs="0"/>
-               <xs:element name="address" type="uint64_type" minOccurs="0"/>
-               <xs:element name="offset" type="uint64_type" minOccurs="0"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:simpleType name="userspace_probe_lookup_method">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="DEFAULT"/>
-               <xs:enumeration value="ELF"/>
-               <xs:enumeration value="SDT"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<xs:complexType name="event_userspace_probe_function_attributes_type">
-       <xs:all>
-               <xs:element name="lookup_method" type="userspace_probe_lookup_method"/>
-               <xs:element name="binary_path" type="xs:string"/>
-               <xs:element name="function_name" type="xs:string"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_userspace_probe_tracepoint_attributes_type">
-       <xs:all>
-               <xs:element name="lookup_method" type="userspace_probe_lookup_method"/>
-               <xs:element name="binary_path" type="xs:string"/>
-               <xs:element name="probe_name" type="xs:string"/>
-               <xs:element name="provider_name" type="xs:string"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_ftrace_attributes_type">
-       <xs:all>
-               <xs:element name="symbol_name" type="name_type"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_attributes_type">
-       <xs:choice>
-               <xs:element name="probe_attributes" type="event_probe_attributes_type"/>
-               <xs:element name="function_attributes" type="event_ftrace_attributes_type"/>
-               <xs:element name="userspace_probe_function_attributes" type="event_userspace_probe_function_attributes_type"/>
-               <xs:element name="userspace_probe_tracepoint_attributes" type="event_userspace_probe_tracepoint_attributes_type"/>
-       </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="event_exclusion_list_type">
-       <xs:sequence>
-               <xs:element name="exclusion" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
-       </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="event_type">
-       <xs:all>
-               <xs:element name="name" type="name_type" minOccurs="0"/>
-               <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
-               <xs:element name="type" type="event_type_type" default="TRACEPOINT" minOccurs="0"/>
-               <xs:element name="loglevel_type" type="loglevel_type" default="ALL" minOccurs="0"/>
-               <xs:element name="loglevel" type="xs:int" default="-1" minOccurs="0"/>
-               <xs:element name="filter" type="xs:string" minOccurs="0"/>
-               <xs:element name="exclusions" type="event_exclusion_list_type" minOccurs="0"/>
-               <xs:element name="attributes" type="event_attributes_type" minOccurs="0"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_list_type">
-       <xs:sequence>
-               <xs:element name="event" type="event_type" minOccurs="0" maxOccurs="unbounded"/>
-       </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="event_perf_context_type">
-       <xs:all>
-               <xs:element name="type" type="uint32_type"/>
-               <xs:element name="config" type="uint64_type"/>
-               <xs:element name="name" type="name_type"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="event_app_context_type">
-       <xs:all>
-         <xs:element name="provider_name" type="xs:string"/>
-         <xs:element name="ctx_name" type="xs:string"/>
-       </xs:all>
-</xs:complexType>
-
-<!-- Maps to the lttng_event_context_type enum -->
-<xs:simpleType name="event_context_type_type">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="PID"/>
-               <xs:enumeration value="PROCNAME"/>
-               <xs:enumeration value="PRIO"/>
-               <xs:enumeration value="NICE"/>
-               <xs:enumeration value="VPID"/>
-               <xs:enumeration value="TID"/>
-               <xs:enumeration value="VTID"/>
-               <xs:enumeration value="PPID"/>
-               <xs:enumeration value="VPPID"/>
-               <xs:enumeration value="PTHREAD_ID"/>
-               <xs:enumeration value="HOSTNAME"/>
-               <xs:enumeration value="IP"/>
-               <xs:enumeration value="APP"/>
-               <xs:enumeration value="INTERRUPTIBLE" />
-               <xs:enumeration value="PREEMPTIBLE" />
-               <xs:enumeration value="NEED_RESCHEDULE" />
-               <xs:enumeration value="MIGRATABLE" />
-               <xs:enumeration value="CALLSTACK_USER" />
-               <xs:enumeration value="CALLSTACK_KERNEL" />
-       </xs:restriction>
-</xs:simpleType>
-
-<xs:complexType name="event_context_type">
-       <xs:choice>
-               <xs:element name="type" type="event_context_type_type"/>
-               <xs:element name="perf" type="event_perf_context_type"/>
-               <xs:element name="app" type="event_app_context_type"/>
-       </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="event_context_list_type">
-       <xs:sequence>
-               <xs:element name="context" type="event_context_type" minOccurs="0" maxOccurs="unbounded"/>
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to struct lttng_channel -->
-<xs:complexType name="channel_type">
-       <xs:all>
-               <xs:element name="name" type="name_type"/>
-               <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
-               <xs:element name="overwrite_mode" type="channel_overwrite_mode_type" default="DISCARD" minOccurs="0"/>
-               <xs:element name="subbuffer_size" type="uint64_type" minOccurs="0"/> <!-- bytes -->
-               <xs:element name="subbuffer_count" type="uint64_type" default="4" minOccurs="0"/>
-               <xs:element name="switch_timer_interval" type="uint32_type" default="0" minOccurs="0"/>  <!-- usec -->
-               <xs:element name="read_timer_interval" type="uint32_type"/>  <!-- usec -->
-               <xs:element name="blocking_timeout" type="blocking_timeout_type" default="0" minOccurs="0" /> <!-- usec -->
-               <xs:element name="output_type" type="event_output_type"/>
-               <xs:element name="tracefile_size" type="uint64_type" default="0" minOccurs="0"/> <!-- bytes -->
-               <xs:element name="tracefile_count" type="uint64_type" default="0" minOccurs="0"/>
-               <xs:element name="live_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec -->
-               <xs:element name="events" type="event_list_type" minOccurs="0"/>
-               <xs:element name="contexts" type="event_context_list_type" minOccurs="0"/>
-               <xs:element name="monitor_timer_interval" type="uint64_type" default="0" minOccurs="0"/>  <!-- usec -->
-       </xs:all>
-</xs:complexType>
-
-<!-- Maps to the lttng_domain_type enum -->
-<xs:simpleType name="domain_type_type">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="KERNEL"/>
-               <xs:enumeration value="UST"/>
-               <xs:enumeration value="JUL"/>
-               <xs:enumeration value="LOG4J"/>
-               <xs:enumeration value="PYTHON"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<!-- Maps to the lttng_buffer_type enum -->
-<xs:simpleType name="domain_buffer_type">
-       <xs:restriction base="xs:string">
-               <xs:enumeration value="PER_PID"/>
-               <xs:enumeration value="PER_UID"/>
-               <xs:enumeration value="GLOBAL"/>
-       </xs:restriction>
-</xs:simpleType>
-
-<xs:complexType name="channel_list_type">
-       <xs:sequence>
-               <xs:element name="channel" type="channel_type" minOccurs="0" maxOccurs="unbounded" />
-       </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="pid_value_type">
-       <xs:choice minOccurs="0">
-               <xs:element name="id" type="xs:integer" />
-       </xs:choice>
-</xs:complexType>
-
-<!-- Maps to a list of pid_process_attr_values-->
-<xs:complexType name="pid_process_attr_values_type">
-       <xs:sequence>
-               <xs:choice minOccurs="0" maxOccurs="unbounded" >
-                       <xs:element name="pid" type="pid_value_type" />
-               </xs:choice>
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to a pid_process_attr_tracker-->
-<xs:complexType name="pid_process_attr_tracker_type">
-       <xs:all>
-               <xs:element name="process_attr_values" type="pid_process_attr_values_type" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="vpid_value_type">
-       <xs:all>
-               <xs:element name="id" type="xs:integer" />
-       </xs:all>
-</xs:complexType>
-
-<!-- Maps to a list of vpid_process_attr_values-->
-<xs:complexType name="vpid_process_attr_values_type">
-       <xs:sequence>
-               <xs:element name="vpid" type="vpid_value_type" minOccurs="0" maxOccurs="unbounded" />
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to a pid_process_attr_tracker-->
-<xs:complexType name="vpid_process_attr_tracker_type">
-       <xs:all>
-               <xs:element name="process_attr_values" type="vpid_process_attr_values_type" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="uid_value_type">
-       <xs:choice>
-               <xs:element name="id" type="xs:integer" />
-               <xs:element name="name" type="xs:string" />
-       </xs:choice>
-</xs:complexType>
-
-<!-- Maps to a list of uid_process_attr_values-->
-<xs:complexType name="uid_process_attr_values_type">
-       <xs:sequence>
-               <xs:element name="uid" type="uid_value_type" minOccurs="0" maxOccurs="unbounded" />
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to a uid_process_attr_tracker-->
-<xs:complexType name="uid_process_attr_tracker_type">
-       <xs:all>
-               <xs:element name="process_attr_values" type="uid_process_attr_values_type" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="vuid_value_type">
-       <xs:choice>
-               <xs:element name="id" type="xs:integer" />
-               <xs:element name="name" type="xs:string" />
-       </xs:choice>
-</xs:complexType>
-
-<!-- Maps to a list of vuid_process_attr_values-->
-<xs:complexType name="vuid_process_attr_values_type">
-       <xs:sequence>
-               <xs:element name="vuid" type="vuid_value_type" minOccurs="0" maxOccurs="unbounded" />
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to a vuid_process_attr_tracker-->
-<xs:complexType name="vuid_process_attr_tracker_type">
-       <xs:all>
-               <xs:element name="process_attr_values" type="vuid_process_attr_values_type" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="gid_value_type">
-       <xs:choice>
-               <xs:element name="id" type="xs:integer" />
-               <xs:element name="name" type="xs:string" />
-       </xs:choice>
-</xs:complexType>
-
-<!-- Maps to a list of gid_process_attr_values-->
-<xs:complexType name="gid_process_attr_values_type">
-       <xs:sequence>
-               <xs:element name="gid" type="gid_value_type" minOccurs="0" maxOccurs="unbounded" />
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to a gid_process_attr_tracker-->
-<xs:complexType name="gid_process_attr_tracker_type">
-       <xs:all>
-               <xs:element name="process_attr_values" type="gid_process_attr_values_type" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="vgid_value_type">
-       <xs:choice>
-               <xs:element name="id" type="xs:integer" />
-               <xs:element name="name" type="xs:string" />
-       </xs:choice>
-</xs:complexType>
-
-<!-- Maps to a list of vgid_process_attr_values-->
-<xs:complexType name="vgid_process_attr_values_type">
-       <xs:sequence>
-               <xs:element name="vgid" type="vgid_value_type" minOccurs="0" maxOccurs="unbounded" />
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to a vgid_process_attr_tracker-->
-<xs:complexType name="vgid_process_attr_tracker_type">
-       <xs:all>
-               <xs:element name="process_attr_values" type="vgid_process_attr_values_type" />
-       </xs:all>
-</xs:complexType>
-
-<!-- Maps to a list of trackers-->
-<xs:complexType name="process_attr_tracker_type">
-       <xs:sequence>
-               <xs:choice minOccurs="0" maxOccurs="unbounded" >
-                       <xs:element name="pid_process_attr_tracker" type="pid_process_attr_tracker_type" maxOccurs="1" />
-                       <xs:element name="vpid_process_attr_tracker" type="vpid_process_attr_tracker_type" maxOccurs="1" />
-                       <xs:element name="uid_process_attr_tracker" type="uid_process_attr_tracker_type" maxOccurs="1" />
-                       <xs:element name="vuid_process_attr_tracker" type="vuid_process_attr_tracker_type" maxOccurs="1" />
-                       <xs:element name="gid_process_attr_tracker" type="gid_process_attr_tracker_type" maxOccurs="1" />
-                       <xs:element name="vgid_process_attr_tracker" type="vgid_process_attr_tracker_type" maxOccurs="1" />
-               </xs:choice>
-       </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="pid_target_type">
-       <xs:all>
-               <xs:element name="pid" type="xs:integer" />
-       </xs:all>
-</xs:complexType>
-
-<!-- Maps to a list of pid_targets (legacy)-->
-<xs:complexType name="targets_type">
-       <xs:sequence>
-               <xs:choice>
-                       <xs:element name="pid_target" type="pid_target_type" minOccurs="0" maxOccurs="unbounded" />
-               </xs:choice>
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to a pid_tracker (legacy)-->
-<xs:complexType name="pid_tracker_type">
-       <xs:all>
-               <xs:element name="targets" type="targets_type" />
-       </xs:all>
-</xs:complexType>
-
-<!-- Maps to a list of trackers (legacy)-->
-<xs:complexType name="trackers_type">
-       <xs:sequence minOccurs="0" maxOccurs="unbounded">
-               <xs:element name="pid_tracker" type="pid_tracker_type" maxOccurs="1" />
-       </xs:sequence>
-</xs:complexType>
-
-<!-- Maps to struct lttng_domain, contains channels and pid_process_attr_tracker -->
-<xs:complexType name="domain_type">
-       <xs:all>
-               <xs:element name="type" type="domain_type_type"/>
-               <xs:element name="buffer_type" type="domain_buffer_type"/>
-               <xs:element name="channels" type="channel_list_type" minOccurs="0"/>
-               <xs:element name="process_attr_trackers" type="process_attr_tracker_type" minOccurs="0"/>
-               <!-- Support of legacy tracker specification -->
-               <xs:element name="trackers" type="trackers_type" minOccurs="0"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="periodic_rotation_schedule_type">
-       <xs:all>
-               <xs:element name="time_us" type="uint64_type" minOccurs="0" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="size_threshold_rotation_schedule_type">
-       <xs:all>
-               <xs:element name="bytes" type="uint64_type" minOccurs="0" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="rotation_schedule_type">
-       <xs:sequence>
-               <xs:choice maxOccurs="unbounded">
-                       <xs:element name="periodic" type="periodic_rotation_schedule_type" maxOccurs="unbounded" />
-                       <xs:element name="size_threshold" type="size_threshold_rotation_schedule_type" maxOccurs="unbounded" />
-               </xs:choice>
-       </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="session_attributes_type">
-       <xs:all>
-               <xs:element name="snapshot_mode" type="xs:boolean" minOccurs="0"/>
-               <xs:element name="live_timer_interval" type="uint32_type" minOccurs="0"/> <!-- usec -->
-               <xs:element name="rotation_schedules" type="rotation_schedule_type" minOccurs="0" />
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="domain_list_type">
-       <xs:sequence>
-               <xs:element name="domain" type="domain_type" minOccurs="0" maxOccurs="unbounded"/>
-       </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="net_output_type">
-       <xs:all>
-               <xs:element name="control_uri" type="xs:string"/>
-               <xs:element name="data_uri" type="xs:string"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="destination_type">
-       <xs:choice>
-               <xs:element name="path" type="xs:string"/>
-               <xs:element name="net_output" type="net_output_type"/>
-       </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="consumer_output_type">
-       <xs:all>
-               <xs:element name="enabled" type="xs:boolean" default="true"/>
-               <xs:element name="destination" type="destination_type"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="snapshot_output_type">
-       <xs:all>
-               <xs:element name="name" type="name_type"/>
-               <xs:element name="max_size" type="uint64_type"/>
-               <xs:element name="consumer_output" type="consumer_output_type"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:complexType name="snapshot_output_list_type">
-       <xs:sequence>
-               <xs:element name="output" type="snapshot_output_type" minOccurs="0" maxOccurs="unbounded"/>
-       </xs:sequence>
-</xs:complexType>
-
-<xs:complexType name="session_output_type">
-       <xs:choice>
-               <xs:element name="snapshot_outputs" type="snapshot_output_list_type"/>
-               <xs:element name="consumer_output" type="consumer_output_type"/>
-       </xs:choice>
-</xs:complexType>
-
-<xs:complexType name="session_type">
-       <xs:all>
-               <xs:element name="name" type="name_type"/>
-               <xs:element name="shared_memory_path" type="xs:string" minOccurs="0"/>
-               <xs:element name="domains" type="domain_list_type" minOccurs="0"/>
-               <xs:element name="started" type="xs:boolean" default="0" minOccurs="0"/>
-               <xs:element name="attributes" type="session_attributes_type" minOccurs="0"/>
-               <xs:element name="output" type="session_output_type" minOccurs="0"/>
-       </xs:all>
-</xs:complexType>
-
-<xs:element name="sessions">
-       <xs:complexType>
-               <xs:sequence>
-                       <xs:element name="session" type="session_type" maxOccurs="unbounded"/>
-               </xs:sequence>
-       </xs:complexType>
-</xs:element>
-
-</xs:schema>
diff --git a/src/common/consumer/Makefile.am b/src/common/consumer/Makefile.am
deleted file mode 100644 (file)
index 46810d1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libconsumer.la
-
-noinst_HEADERS = consumer-metadata-cache.h consumer-timer.h \
-                consumer-testpoint.h
-
-libconsumer_la_SOURCES = \
-       consumer.cpp \
-       consumer.h \
-       consumer-metadata-cache.cpp \
-       consumer-stream.cpp \
-       consumer-stream.h \
-       consumer-timer.cpp \
-       metadata-bucket.cpp \
-       metadata-bucket.h
-
-libconsumer_la_LIBADD = \
-               $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la \
-               $(top_builddir)/src/common/kernel-consumer/libkernel-consumer.la \
-               $(top_builddir)/src/common/relayd/librelayd.la
-
-if HAVE_LIBLTTNG_UST_CTL
-libconsumer_la_LIBADD += \
-               $(top_builddir)/src/common/ust-consumer/libust-consumer.la
-endif
diff --git a/src/common/fd-tracker/Makefile.am b/src/common/fd-tracker/Makefile.am
deleted file mode 100644 (file)
index 68e63d4..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libfd-tracker.la
-
-libfd_tracker_la_SOURCES = \
-       fd-tracker.cpp \
-       fd-tracker.h \
-       inode.cpp \
-       inode.h \
-       utils.cpp \
-       utils.h \
-       utils-poll.cpp
diff --git a/src/common/filter/Makefile.am b/src/common/filter/Makefile.am
deleted file mode 100644 (file)
index 4a6e4ff..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-AM_CPPFLAGS += -I$(srcdir) -I$(builddir)
-
-noinst_LTLIBRARIES = libfilter.la
-noinst_HEADERS = filter-ast.h \
-               filter-symbols.h
-
-BUILT_SOURCES = filter-parser.hpp
-
-libfilter_la_SOURCES = \
-       filter-lexer.lpp \
-       filter-parser.ypp \
-       filter-visitor-xml.cpp \
-       filter-visitor-generate-ir.cpp \
-       filter-visitor-ir-check-binary-op-nesting.cpp \
-       filter-visitor-ir-validate-string.cpp \
-       filter-visitor-ir-validate-globbing.cpp \
-       filter-visitor-ir-normalize-glob-patterns.cpp \
-       filter-visitor-generate-bytecode.cpp \
-       filter-ast.h \
-       filter-ir.h \
-       memstream.h
-libfilter_la_CXXFLAGS = -include filter-symbols.h $(AM_CXXFLAGS)
-libfilter_la_LIBADD = $(top_builddir)/src/common/string-utils/libstring-utils.la
-
-AM_YFLAGS = -t -d -v -Wno-yacc
-
-# start with empty files to clean
-CLEANFILES =
-
-if HAVE_BISON
-# we have bison: we can clean the generated parser files
-CLEANFILES += filter-parser.cpp filter-parser.hpp filter-parser.output
-else # HAVE_BISON
-# create target used to stop the build if we want to build the parser,
-# but we don't have the necessary tool to do so
-ERR_MSG = "Error: Cannot build target because bison is missing."
-ERR_MSG += "Make sure bison is installed and run the configure script again."
-
-filter-parser.cpp filter-parser.hpp: filter-parser.ypp
-       @echo $(ERR_MSG)
-       @false
-
-all-local: filter-parser.cpp filter-parser.hpp
-endif # HAVE_BISON
-
-if HAVE_FLEX
-# we have flex: we can clean the generated lexer files
-CLEANFILES += filter-lexer.cpp
-else # HAVE_FLEX
-# create target used to stop the build if we want to build the lexer,
-# but we don't have the necessary tool to do so
-ERR_MSG = "Error: Cannot build target because flex is missing."
-ERR_MSG += "Make sure flex is installed and run the configure script again."
-
-filter-lexer.cpp: filter-lexer.lpp
-       @echo $(ERR_MSG)
-       @false
-
-all-local: filter-lexer.cpp
-endif # HAVE_FLEX
diff --git a/src/common/hashtable/Makefile.am b/src/common/hashtable/Makefile.am
deleted file mode 100644 (file)
index f16b1b5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libhashtable-gpl.la libhashtable-lgpl.la
-
-libhashtable_lgpl_la_SOURCES = \
-       seed.cpp \
-       utils.cpp \
-       utils.h
-
-libhashtable_gpl_la_SOURCES = \
-       hashtable.cpp \
-       hashtable.h \
-       hashtable-symbols.h
-
-libhashtable_gpl_la_LIBADD = \
-       $(URCU_LIBS) \
-       $(URCU_CDS_LIBS)
diff --git a/src/common/health/Makefile.am b/src/common/health/Makefile.am
deleted file mode 100644 (file)
index cb10139..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libhealth.la
-
-libhealth_la_SOURCES = health.cpp
diff --git a/src/common/index/Makefile.am b/src/common/index/Makefile.am
deleted file mode 100644 (file)
index d62a31c..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libindex.la
-
-libindex_la_SOURCES = \
-       ctf-index.h \
-       index.cpp \
-       index.h
diff --git a/src/common/ini-config/Makefile.am b/src/common/ini-config/Makefile.am
deleted file mode 100644 (file)
index 7f0ee8d..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libini-config.la
-
-libini_config_la_SOURCES = \
-       ini.cpp \
-       ini.h \
-       ini-config.cpp \
-       ini-config.h
diff --git a/src/common/kernel-consumer/Makefile.am b/src/common/kernel-consumer/Makefile.am
deleted file mode 100644 (file)
index 4e7205c..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libkernel-consumer.la
-
-libkernel_consumer_la_SOURCES = \
-       kernel-consumer.cpp \
-       kernel-consumer.h
-
-libkernel_consumer_la_LIBADD = $(top_builddir)/src/common/kernel-ctl/libkernel-ctl.la
diff --git a/src/common/kernel-ctl/Makefile.am b/src/common/kernel-ctl/Makefile.am
deleted file mode 100644 (file)
index 976cfdb..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libkernel-ctl.la
-
-libkernel_ctl_la_SOURCES = \
-       kernel-ctl.cpp \
-       kernel-ctl.h \
-       kernel-ioctl.h
diff --git a/src/common/relayd/Makefile.am b/src/common/relayd/Makefile.am
deleted file mode 100644 (file)
index 32623cc..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = librelayd.la
-
-librelayd_la_SOURCES = \
-       relayd.cpp \
-       relayd.h
-
-librelayd_la_LIBADD = $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la
diff --git a/src/common/session.xsd b/src/common/session.xsd
new file mode 100644 (file)
index 0000000..986fb2d
--- /dev/null
@@ -0,0 +1,534 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Copyright (C) 2014 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+
+SPDX-License-Identifier: MIT
+
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+elementFormDefault="qualified" version="2.12">
+
+<xs:simpleType name="name_type">
+       <xs:restriction base="xs:string">
+               <xs:maxLength value="255"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="uint64_type">
+       <xs:restriction base="xs:integer">
+               <xs:minInclusive value="0"/>
+               <xs:maxInclusive value="18446744073709551615"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="uint32_type">
+       <xs:restriction base="xs:integer">
+               <xs:minInclusive value="0"/>
+               <xs:maxInclusive value="4294967295"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<!--
+Maps to the range allowed for blocking timeout: -1 (block forever),
+0 (do not block), positive integer value (blocking time in usec) limited
+by its signed 32-bit representation when converted to msec.
+-->
+<xs:simpleType name="blocking_timeout_type">
+       <xs:restriction base="xs:integer">
+               <xs:minInclusive value="-1" />
+               <xs:maxInclusive value="2147483648000" />
+       </xs:restriction>
+</xs:simpleType>
+
+<xs:simpleType name="channel_overwrite_mode_type">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="DISCARD"/>
+               <xs:enumeration value="OVERWRITE"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<!-- Maps to the lttng_event_output enum -->
+<xs:simpleType name="event_output_type">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="SPLICE"/>
+               <xs:enumeration value="MMAP"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<!-- Maps to the lttng_loglevel_type enum -->
+<xs:simpleType name="loglevel_type">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="ALL"/>
+               <xs:enumeration value="RANGE"/>
+               <xs:enumeration value="SINGLE"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<!-- Maps to the lttng_event_type enum -->
+<xs:simpleType name="event_type_type">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="ALL"/>
+               <xs:enumeration value="TRACEPOINT"/>
+               <xs:enumeration value="PROBE"/>
+               <xs:enumeration value="USERSPACE_PROBE"/>
+               <xs:enumeration value="FUNCTION"/>
+               <xs:enumeration value="FUNCTION_ENTRY"/>
+               <xs:enumeration value="NOOP"/>
+               <xs:enumeration value="SYSCALL"/>
+               <xs:enumeration value="KPROBE"/>
+               <xs:enumeration value="KRETPROBE"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<xs:complexType name="event_probe_attributes_type">
+       <xs:all>
+               <xs:element name="symbol_name" type="name_type" minOccurs="0"/>
+               <xs:element name="address" type="uint64_type" minOccurs="0"/>
+               <xs:element name="offset" type="uint64_type" minOccurs="0"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:simpleType name="userspace_probe_lookup_method">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="DEFAULT"/>
+               <xs:enumeration value="ELF"/>
+               <xs:enumeration value="SDT"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<xs:complexType name="event_userspace_probe_function_attributes_type">
+       <xs:all>
+               <xs:element name="lookup_method" type="userspace_probe_lookup_method"/>
+               <xs:element name="binary_path" type="xs:string"/>
+               <xs:element name="function_name" type="xs:string"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="event_userspace_probe_tracepoint_attributes_type">
+       <xs:all>
+               <xs:element name="lookup_method" type="userspace_probe_lookup_method"/>
+               <xs:element name="binary_path" type="xs:string"/>
+               <xs:element name="probe_name" type="xs:string"/>
+               <xs:element name="provider_name" type="xs:string"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="event_ftrace_attributes_type">
+       <xs:all>
+               <xs:element name="symbol_name" type="name_type"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="event_attributes_type">
+       <xs:choice>
+               <xs:element name="probe_attributes" type="event_probe_attributes_type"/>
+               <xs:element name="function_attributes" type="event_ftrace_attributes_type"/>
+               <xs:element name="userspace_probe_function_attributes" type="event_userspace_probe_function_attributes_type"/>
+               <xs:element name="userspace_probe_tracepoint_attributes" type="event_userspace_probe_tracepoint_attributes_type"/>
+       </xs:choice>
+</xs:complexType>
+
+<xs:complexType name="event_exclusion_list_type">
+       <xs:sequence>
+               <xs:element name="exclusion" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
+       </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="event_type">
+       <xs:all>
+               <xs:element name="name" type="name_type" minOccurs="0"/>
+               <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
+               <xs:element name="type" type="event_type_type" default="TRACEPOINT" minOccurs="0"/>
+               <xs:element name="loglevel_type" type="loglevel_type" default="ALL" minOccurs="0"/>
+               <xs:element name="loglevel" type="xs:int" default="-1" minOccurs="0"/>
+               <xs:element name="filter" type="xs:string" minOccurs="0"/>
+               <xs:element name="exclusions" type="event_exclusion_list_type" minOccurs="0"/>
+               <xs:element name="attributes" type="event_attributes_type" minOccurs="0"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="event_list_type">
+       <xs:sequence>
+               <xs:element name="event" type="event_type" minOccurs="0" maxOccurs="unbounded"/>
+       </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="event_perf_context_type">
+       <xs:all>
+               <xs:element name="type" type="uint32_type"/>
+               <xs:element name="config" type="uint64_type"/>
+               <xs:element name="name" type="name_type"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="event_app_context_type">
+       <xs:all>
+         <xs:element name="provider_name" type="xs:string"/>
+         <xs:element name="ctx_name" type="xs:string"/>
+       </xs:all>
+</xs:complexType>
+
+<!-- Maps to the lttng_event_context_type enum -->
+<xs:simpleType name="event_context_type_type">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="PID"/>
+               <xs:enumeration value="PROCNAME"/>
+               <xs:enumeration value="PRIO"/>
+               <xs:enumeration value="NICE"/>
+               <xs:enumeration value="VPID"/>
+               <xs:enumeration value="TID"/>
+               <xs:enumeration value="VTID"/>
+               <xs:enumeration value="PPID"/>
+               <xs:enumeration value="VPPID"/>
+               <xs:enumeration value="PTHREAD_ID"/>
+               <xs:enumeration value="HOSTNAME"/>
+               <xs:enumeration value="IP"/>
+               <xs:enumeration value="APP"/>
+               <xs:enumeration value="INTERRUPTIBLE" />
+               <xs:enumeration value="PREEMPTIBLE" />
+               <xs:enumeration value="NEED_RESCHEDULE" />
+               <xs:enumeration value="MIGRATABLE" />
+               <xs:enumeration value="CALLSTACK_USER" />
+               <xs:enumeration value="CALLSTACK_KERNEL" />
+       </xs:restriction>
+</xs:simpleType>
+
+<xs:complexType name="event_context_type">
+       <xs:choice>
+               <xs:element name="type" type="event_context_type_type"/>
+               <xs:element name="perf" type="event_perf_context_type"/>
+               <xs:element name="app" type="event_app_context_type"/>
+       </xs:choice>
+</xs:complexType>
+
+<xs:complexType name="event_context_list_type">
+       <xs:sequence>
+               <xs:element name="context" type="event_context_type" minOccurs="0" maxOccurs="unbounded"/>
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to struct lttng_channel -->
+<xs:complexType name="channel_type">
+       <xs:all>
+               <xs:element name="name" type="name_type"/>
+               <xs:element name="enabled" type="xs:boolean" default="true" minOccurs="0"/>
+               <xs:element name="overwrite_mode" type="channel_overwrite_mode_type" default="DISCARD" minOccurs="0"/>
+               <xs:element name="subbuffer_size" type="uint64_type" minOccurs="0"/> <!-- bytes -->
+               <xs:element name="subbuffer_count" type="uint64_type" default="4" minOccurs="0"/>
+               <xs:element name="switch_timer_interval" type="uint32_type" default="0" minOccurs="0"/>  <!-- usec -->
+               <xs:element name="read_timer_interval" type="uint32_type"/>  <!-- usec -->
+               <xs:element name="blocking_timeout" type="blocking_timeout_type" default="0" minOccurs="0" /> <!-- usec -->
+               <xs:element name="output_type" type="event_output_type"/>
+               <xs:element name="tracefile_size" type="uint64_type" default="0" minOccurs="0"/> <!-- bytes -->
+               <xs:element name="tracefile_count" type="uint64_type" default="0" minOccurs="0"/>
+               <xs:element name="live_timer_interval" type="uint32_type" default="0" minOccurs="0"/> <!-- usec -->
+               <xs:element name="events" type="event_list_type" minOccurs="0"/>
+               <xs:element name="contexts" type="event_context_list_type" minOccurs="0"/>
+               <xs:element name="monitor_timer_interval" type="uint64_type" default="0" minOccurs="0"/>  <!-- usec -->
+       </xs:all>
+</xs:complexType>
+
+<!-- Maps to the lttng_domain_type enum -->
+<xs:simpleType name="domain_type_type">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="KERNEL"/>
+               <xs:enumeration value="UST"/>
+               <xs:enumeration value="JUL"/>
+               <xs:enumeration value="LOG4J"/>
+               <xs:enumeration value="PYTHON"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<!-- Maps to the lttng_buffer_type enum -->
+<xs:simpleType name="domain_buffer_type">
+       <xs:restriction base="xs:string">
+               <xs:enumeration value="PER_PID"/>
+               <xs:enumeration value="PER_UID"/>
+               <xs:enumeration value="GLOBAL"/>
+       </xs:restriction>
+</xs:simpleType>
+
+<xs:complexType name="channel_list_type">
+       <xs:sequence>
+               <xs:element name="channel" type="channel_type" minOccurs="0" maxOccurs="unbounded" />
+       </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="pid_value_type">
+       <xs:choice minOccurs="0">
+               <xs:element name="id" type="xs:integer" />
+       </xs:choice>
+</xs:complexType>
+
+<!-- Maps to a list of pid_process_attr_values-->
+<xs:complexType name="pid_process_attr_values_type">
+       <xs:sequence>
+               <xs:choice minOccurs="0" maxOccurs="unbounded" >
+                       <xs:element name="pid" type="pid_value_type" />
+               </xs:choice>
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to a pid_process_attr_tracker-->
+<xs:complexType name="pid_process_attr_tracker_type">
+       <xs:all>
+               <xs:element name="process_attr_values" type="pid_process_attr_values_type" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="vpid_value_type">
+       <xs:all>
+               <xs:element name="id" type="xs:integer" />
+       </xs:all>
+</xs:complexType>
+
+<!-- Maps to a list of vpid_process_attr_values-->
+<xs:complexType name="vpid_process_attr_values_type">
+       <xs:sequence>
+               <xs:element name="vpid" type="vpid_value_type" minOccurs="0" maxOccurs="unbounded" />
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to a pid_process_attr_tracker-->
+<xs:complexType name="vpid_process_attr_tracker_type">
+       <xs:all>
+               <xs:element name="process_attr_values" type="vpid_process_attr_values_type" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="uid_value_type">
+       <xs:choice>
+               <xs:element name="id" type="xs:integer" />
+               <xs:element name="name" type="xs:string" />
+       </xs:choice>
+</xs:complexType>
+
+<!-- Maps to a list of uid_process_attr_values-->
+<xs:complexType name="uid_process_attr_values_type">
+       <xs:sequence>
+               <xs:element name="uid" type="uid_value_type" minOccurs="0" maxOccurs="unbounded" />
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to a uid_process_attr_tracker-->
+<xs:complexType name="uid_process_attr_tracker_type">
+       <xs:all>
+               <xs:element name="process_attr_values" type="uid_process_attr_values_type" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="vuid_value_type">
+       <xs:choice>
+               <xs:element name="id" type="xs:integer" />
+               <xs:element name="name" type="xs:string" />
+       </xs:choice>
+</xs:complexType>
+
+<!-- Maps to a list of vuid_process_attr_values-->
+<xs:complexType name="vuid_process_attr_values_type">
+       <xs:sequence>
+               <xs:element name="vuid" type="vuid_value_type" minOccurs="0" maxOccurs="unbounded" />
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to a vuid_process_attr_tracker-->
+<xs:complexType name="vuid_process_attr_tracker_type">
+       <xs:all>
+               <xs:element name="process_attr_values" type="vuid_process_attr_values_type" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="gid_value_type">
+       <xs:choice>
+               <xs:element name="id" type="xs:integer" />
+               <xs:element name="name" type="xs:string" />
+       </xs:choice>
+</xs:complexType>
+
+<!-- Maps to a list of gid_process_attr_values-->
+<xs:complexType name="gid_process_attr_values_type">
+       <xs:sequence>
+               <xs:element name="gid" type="gid_value_type" minOccurs="0" maxOccurs="unbounded" />
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to a gid_process_attr_tracker-->
+<xs:complexType name="gid_process_attr_tracker_type">
+       <xs:all>
+               <xs:element name="process_attr_values" type="gid_process_attr_values_type" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="vgid_value_type">
+       <xs:choice>
+               <xs:element name="id" type="xs:integer" />
+               <xs:element name="name" type="xs:string" />
+       </xs:choice>
+</xs:complexType>
+
+<!-- Maps to a list of vgid_process_attr_values-->
+<xs:complexType name="vgid_process_attr_values_type">
+       <xs:sequence>
+               <xs:element name="vgid" type="vgid_value_type" minOccurs="0" maxOccurs="unbounded" />
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to a vgid_process_attr_tracker-->
+<xs:complexType name="vgid_process_attr_tracker_type">
+       <xs:all>
+               <xs:element name="process_attr_values" type="vgid_process_attr_values_type" />
+       </xs:all>
+</xs:complexType>
+
+<!-- Maps to a list of trackers-->
+<xs:complexType name="process_attr_tracker_type">
+       <xs:sequence>
+               <xs:choice minOccurs="0" maxOccurs="unbounded" >
+                       <xs:element name="pid_process_attr_tracker" type="pid_process_attr_tracker_type" maxOccurs="1" />
+                       <xs:element name="vpid_process_attr_tracker" type="vpid_process_attr_tracker_type" maxOccurs="1" />
+                       <xs:element name="uid_process_attr_tracker" type="uid_process_attr_tracker_type" maxOccurs="1" />
+                       <xs:element name="vuid_process_attr_tracker" type="vuid_process_attr_tracker_type" maxOccurs="1" />
+                       <xs:element name="gid_process_attr_tracker" type="gid_process_attr_tracker_type" maxOccurs="1" />
+                       <xs:element name="vgid_process_attr_tracker" type="vgid_process_attr_tracker_type" maxOccurs="1" />
+               </xs:choice>
+       </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="pid_target_type">
+       <xs:all>
+               <xs:element name="pid" type="xs:integer" />
+       </xs:all>
+</xs:complexType>
+
+<!-- Maps to a list of pid_targets (legacy)-->
+<xs:complexType name="targets_type">
+       <xs:sequence>
+               <xs:choice>
+                       <xs:element name="pid_target" type="pid_target_type" minOccurs="0" maxOccurs="unbounded" />
+               </xs:choice>
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to a pid_tracker (legacy)-->
+<xs:complexType name="pid_tracker_type">
+       <xs:all>
+               <xs:element name="targets" type="targets_type" />
+       </xs:all>
+</xs:complexType>
+
+<!-- Maps to a list of trackers (legacy)-->
+<xs:complexType name="trackers_type">
+       <xs:sequence minOccurs="0" maxOccurs="unbounded">
+               <xs:element name="pid_tracker" type="pid_tracker_type" maxOccurs="1" />
+       </xs:sequence>
+</xs:complexType>
+
+<!-- Maps to struct lttng_domain, contains channels and pid_process_attr_tracker -->
+<xs:complexType name="domain_type">
+       <xs:all>
+               <xs:element name="type" type="domain_type_type"/>
+               <xs:element name="buffer_type" type="domain_buffer_type"/>
+               <xs:element name="channels" type="channel_list_type" minOccurs="0"/>
+               <xs:element name="process_attr_trackers" type="process_attr_tracker_type" minOccurs="0"/>
+               <!-- Support of legacy tracker specification -->
+               <xs:element name="trackers" type="trackers_type" minOccurs="0"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="periodic_rotation_schedule_type">
+       <xs:all>
+               <xs:element name="time_us" type="uint64_type" minOccurs="0" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="size_threshold_rotation_schedule_type">
+       <xs:all>
+               <xs:element name="bytes" type="uint64_type" minOccurs="0" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="rotation_schedule_type">
+       <xs:sequence>
+               <xs:choice maxOccurs="unbounded">
+                       <xs:element name="periodic" type="periodic_rotation_schedule_type" maxOccurs="unbounded" />
+                       <xs:element name="size_threshold" type="size_threshold_rotation_schedule_type" maxOccurs="unbounded" />
+               </xs:choice>
+       </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="session_attributes_type">
+       <xs:all>
+               <xs:element name="snapshot_mode" type="xs:boolean" minOccurs="0"/>
+               <xs:element name="live_timer_interval" type="uint32_type" minOccurs="0"/> <!-- usec -->
+               <xs:element name="rotation_schedules" type="rotation_schedule_type" minOccurs="0" />
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="domain_list_type">
+       <xs:sequence>
+               <xs:element name="domain" type="domain_type" minOccurs="0" maxOccurs="unbounded"/>
+       </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="net_output_type">
+       <xs:all>
+               <xs:element name="control_uri" type="xs:string"/>
+               <xs:element name="data_uri" type="xs:string"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="destination_type">
+       <xs:choice>
+               <xs:element name="path" type="xs:string"/>
+               <xs:element name="net_output" type="net_output_type"/>
+       </xs:choice>
+</xs:complexType>
+
+<xs:complexType name="consumer_output_type">
+       <xs:all>
+               <xs:element name="enabled" type="xs:boolean" default="true"/>
+               <xs:element name="destination" type="destination_type"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="snapshot_output_type">
+       <xs:all>
+               <xs:element name="name" type="name_type"/>
+               <xs:element name="max_size" type="uint64_type"/>
+               <xs:element name="consumer_output" type="consumer_output_type"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:complexType name="snapshot_output_list_type">
+       <xs:sequence>
+               <xs:element name="output" type="snapshot_output_type" minOccurs="0" maxOccurs="unbounded"/>
+       </xs:sequence>
+</xs:complexType>
+
+<xs:complexType name="session_output_type">
+       <xs:choice>
+               <xs:element name="snapshot_outputs" type="snapshot_output_list_type"/>
+               <xs:element name="consumer_output" type="consumer_output_type"/>
+       </xs:choice>
+</xs:complexType>
+
+<xs:complexType name="session_type">
+       <xs:all>
+               <xs:element name="name" type="name_type"/>
+               <xs:element name="shared_memory_path" type="xs:string" minOccurs="0"/>
+               <xs:element name="domains" type="domain_list_type" minOccurs="0"/>
+               <xs:element name="started" type="xs:boolean" default="0" minOccurs="0"/>
+               <xs:element name="attributes" type="session_attributes_type" minOccurs="0"/>
+               <xs:element name="output" type="session_output_type" minOccurs="0"/>
+       </xs:all>
+</xs:complexType>
+
+<xs:element name="sessions">
+       <xs:complexType>
+               <xs:sequence>
+                       <xs:element name="session" type="session_type" maxOccurs="unbounded"/>
+               </xs:sequence>
+       </xs:complexType>
+</xs:element>
+
+</xs:schema>
diff --git a/src/common/sessiond-comm/Makefile.am b/src/common/sessiond-comm/Makefile.am
deleted file mode 100644 (file)
index 8086cb0..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libsessiond-comm.la
-
-libsessiond_comm_la_SOURCES = \
-       agent.h \
-       inet.cpp \
-       inet.h \
-       inet6.cpp \
-       inet6.h \
-       relayd.h \
-       sessiond-comm.cpp \
-       sessiond-comm.h
diff --git a/src/common/string-utils/Makefile.am b/src/common/string-utils/Makefile.am
deleted file mode 100644 (file)
index 212b3d5..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libstring-utils.la
-
-libstring_utils_la_SOURCES = \
-       format.h \
-       string-utils.cpp \
-       string-utils.h
diff --git a/src/common/testpoint/Makefile.am b/src/common/testpoint/Makefile.am
deleted file mode 100644 (file)
index 7fd8ed7..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-noinst_LTLIBRARIES = libtestpoint.la
-
-libtestpoint_la_SOURCES = \
-       testpoint.cpp \
-       testpoint.h
-libtestpoint_la_LIBADD = $(DL_LIBS)
diff --git a/src/common/ust-consumer/Makefile.am b/src/common/ust-consumer/Makefile.am
deleted file mode 100644 (file)
index 5e10053..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# SPDX-License-Identifier: GPL-2.0-only
-
-if HAVE_LIBLTTNG_UST_CTL
-
-noinst_LTLIBRARIES = libust-consumer.la
-
-libust_consumer_la_SOURCES = \
-       ust-consumer.cpp \
-       ust-consumer.h
-
-libust_consumer_la_LIBADD = $(UST_CTL_LIBS)
-
-endif
index 281806c1fcb31d76fecd3560e839a1255c03a921..59fadf1c79472e7d93467f73863e021586afce7d 100644 (file)
@@ -30,7 +30,7 @@ EXTRA_liblttng_ctl_la_DEPENDENCIES = liblttng-ctl.sym
 EXTRA_DIST = liblttng-ctl.sym
 
 liblttng_ctl_la_LIBADD = \
-               $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la \
+               $(top_builddir)/src/common/libsessiond-comm.la \
                $(top_builddir)/src/common/libcommon-lgpl.la
 
 pkgconfigdir = $(libdir)/pkgconfig
index a59ee8d6daeb825e4e3e29c07f4f2bbad70f8831..eb5198b4bb0b28be76a729e2885a1126a3dcf961 100644 (file)
@@ -37,7 +37,7 @@ FORCE_SHARED_LIB_OPTIONS = -module -shared -avoid-version \
 
 libpause_consumer_la_SOURCES = consumer_testpoints.cpp
 libpause_consumer_la_LIBADD = \
-       $(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la \
+       $(top_builddir)/src/common/libsessiond-comm.la \
        $(top_builddir)/src/common/libcommon-gpl.la \
        $(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la \
        $(DL_LIBS)
index b1134266aa1ae238004e00f4e87041cc6ec87135..ddf54db594e65cb6ef1aa952473025d8b640a623 100755 (executable)
@@ -9,7 +9,7 @@ TEST_DESC="Auto load session(s)"
 CURDIR=$(dirname $0)/
 CONFIG_DIR="${CURDIR}/configuration"
 TESTDIR=$CURDIR/../../../
-export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/)
+export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/)
 
 DIR=$(readlink -f $TESTDIR)
 
index 7899cc09ba71c9955f8912a87c7b7e3986f4edcc..cbdf96f6ebeded149cdb0ad9e7816d0aeb80f0e2 100755 (executable)
@@ -9,7 +9,7 @@ TEST_DESC="Load session(s)"
 CURDIR=$(dirname $0)/
 CONFIG_DIR="${CURDIR}/configuration"
 TESTDIR=$CURDIR/../../../
-export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/config/)
+export LTTNG_SESSION_CONFIG_XSD_PATH=$(readlink -m ${TESTDIR}../src/common/)
 
 SESSION_NAME="load-42"
 EVENT_NAME="tp:tptest"
index dd3b0278fb507bd75560249742cd9339ede5fe1b..a6a0258d4188df730f16bb18e73ad67ad8ae7e7a 100644 (file)
@@ -13,5 +13,5 @@ notification_client_LDADD = $(LIBLTTNG_CTL) \
 
 register_some_triggers_SOURCES = register-some-triggers.cpp
 register_some_triggers_LDADD = $(LIBLTTNG_CTL) \
-       $(top_builddir)/src/common/filter/libfilter.la \
-       $(top_builddir)/src/common/bytecode/libbytecode.la
+       $(top_builddir)/src/common/libfilter.la \
+       $(top_builddir)/src/common/libbytecode.la
index bcba28fdb0255f2b2c41f71a7df74054dfe986dc..d1b526d307a9d245ace77c20111ae15ce88e6baf 100644 (file)
@@ -37,10 +37,10 @@ TESTS = \
 LIBTAP=$(top_builddir)/tests/utils/tap/libtap.la
 
 LIBCOMMON_GPL=$(top_builddir)/src/common/libcommon-gpl.la
-LIBSTRINGUTILS=$(top_builddir)/src/common/string-utils/libstring-utils.la
-LIBFDTRACKER=$(top_builddir)/src/common/fd-tracker/libfd-tracker.la
-LIBSESSIOND_COMM=$(top_builddir)/src/common/sessiond-comm/libsessiond-comm.la
-LIBRELAYD=$(top_builddir)/src/common/relayd/librelayd.la
+LIBSTRINGUTILS=$(top_builddir)/src/common/libstring-utils.la
+LIBFDTRACKER=$(top_builddir)/src/common/libfd-tracker.la
+LIBSESSIOND_COMM=$(top_builddir)/src/common/libsessiond-comm.la
+LIBRELAYD=$(top_builddir)/src/common/librelayd.la
 LIBLTTNG_CTL=$(top_builddir)/src/lib/lttng-ctl/liblttng-ctl.la
 LIBLTTNG_SESSIOND_COMMON=$(top_builddir)/src/bin/lttng-sessiond/liblttng-sessiond-common.la
 
@@ -112,12 +112,12 @@ test_utils_parse_time_suffix_LDADD = $(LIBTAP) $(LIBCOMMON_GPL)
 # compat_poll unit test
 test_utils_compat_poll_SOURCES = test_utils_compat_poll.cpp
 test_utils_compat_poll_LDADD  = $(LIBTAP) $(DL_LIBS) \
-                     $(top_builddir)/src/common/compat/libcompat.la $(LIBCOMMON_GPL)
+                     $(top_builddir)/src/common/libcompat.la $(LIBCOMMON_GPL)
 
 # compat_pthread unit test
 test_utils_compat_pthread_SOURCES = test_utils_compat_pthread.cpp
 test_utils_compat_pthread_LDADD  = $(LIBTAP) \
-                     $(top_builddir)/src/common/compat/libcompat.la $(LIBCOMMON_GPL)
+                     $(top_builddir)/src/common/libcompat.la $(LIBCOMMON_GPL)
 
 # expand_path unit test
 test_utils_expand_path_SOURCES = test_utils_expand_path.cpp
index 2680daae923e15b937f8263d203210efd44549c1..8a710fe303b10c7aa69950a9e2da6cae85823079 100644 (file)
@@ -682,8 +682,8 @@ function start_lttng_sessiond_opt()
            LTTNG_BAIL_OUT "*** Kernel too old for session daemon tests ***"
        fi
 
-       diag "export LTTNG_SESSION_CONFIG_XSD_PATH=${DIR}/../src/common/config/"
-       : "${LTTNG_SESSION_CONFIG_XSD_PATH="${DIR}/../src/common/config/"}"
+       diag "export LTTNG_SESSION_CONFIG_XSD_PATH=${DIR}/../src/common/"
+       : "${LTTNG_SESSION_CONFIG_XSD_PATH="${DIR}/../src/common/"}"
        export LTTNG_SESSION_CONFIG_XSD_PATH
 
        if [ -z "$(lttng_pgrep "${SESSIOND_MATCH}")" ]; then
This page took 0.055547 seconds and 4 git commands to generate.