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>
Support creds passing between lttng and sessiond From now on, the lttng command line sends it's credential at each command along with the regular communication data. The tracing output directory is set to those credentials (uid/gid) if the session daemon is running as a regular user (even if the user is in the tracing group). So *no* tracing group is ever set if the session daemon is not running as a non-root user. If the sessiond is running as root, the tracing group is set (if exist) and the uid of the calling user is used. This fixes the triple enable-channel/event needed to trace UST applications with a non-root session daemon. This was reported by Yannick Brosseau <yannick.brosseau@polymtl.ca>. Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Add new API call lttng_channel_set_default_attr This call takes a lttng domain and an allocated channel attributes pointer and set the default attributes of the channel according to the domain type. This commit also fix a listing problem where the wrong output type of the channel was returned for UST. The enable-channel command is also changed to used that new API call. Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Fix enable all syscalls The -a -k --syscall was enabling all syscalls and all tracepoints. Fix this issues by adding the enabel_kernel_event_syscalls. At this commit, there is a problem with the list event that does not list correctly all syscalls. Signed-off-by: David Goulet <david.goulet@polymtl.ca>