Complete change of the source directory tree For the sake of clearness and awesomeness :P, this change was needed for better semantic across the code and better organization of source files. src/ --> Contains source files of the project bin/ --> Contains every binaries this git tree builds (lttng, lttng-sessiond and lttng-consumerd). lib/ --> Contains exported libraries (lttng-ctl). common/ --> Contains shared code for the entire project. (internal libraries mostly) Every internal headers are moved from include/ to src/common. The include directory only contains exported public headers now (lttng/lttng.h). The -I$(top_srcdir)/src is also added for all Makefiles. The consumerd APIs are not exported anymore. The reason is that the consumer will get completely re-engineered in the next months. It's our safety net for the APIs breakage of the coming year concerning the consumerd library. Renaming is done also on some internal libraries to follow the naming convention. The public library liblttngctl is renamed to liblttng-ctl making it linkable now with "-llttng-ctl" deprecating the old "-llttngctl". No code is changed with this commit except #include statements added/removed/renamed. This is why there is yet files and internal API calls that does not follow the naming convention (Ex: lttngerr.h, lttng-share.h in src/common). Signed-off-by: David Goulet <dgoulet@efficios.com>
Change lttng command line options for UST domain lttng command line option --all is removed and replace by using -u alone which indicates that the command must be applied to the UST global domain. $ lttng enable-event -u --all is changed to $ lttng enable-event -u Also, the long option for -a, --all-events, is replaced by --all. Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Add disable-channel support for UST The enable channel command (for UST) was not working for already created channel so this commit fix it by adding an enable function call when the UST channel already exist onto the session. Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Change lttng API to use a lttng_handle Introduce the lttng_handle structure that is now used by the API containing the session name and lttng domain. This removes multiple static variables of the library and makes it safe for multithread tool to use the library. Signed-off-by: David Goulet <david.goulet@polymtl.ca>
New public API for lttng control Introduce the lttng domain that is used to identify the tracer. Remove all 'kernel' from the functions name and now take the domain struct as first parameter. Add channel feature is removed and merged with enable-channel. Move kernel specific data structure from lttng.h to lttng-kernel.h which is copied from the LTTng kernel modules ABI. Genereic structures are used to create a generic view of lttng event and attributes (agnostif of the Kernel and user-space). Default channel is NOT created unless it is needed. A lot of comments has been added to lttng.h Fix a bug in the liblttngctl. A return value was not set correctly. Signed-off-by: David Goulet <david.goulet@polymtl.ca>