David Goulet [Tue, 4 Oct 2011 21:49:27 +0000 (17:49 -0400)]
Add recv fds function to lttng-comm API
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 4 Oct 2011 21:27:50 +0000 (17:27 -0400)]
Add missing mutex lock for kconsumerd pid
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 4 Oct 2011 21:15:32 +0000 (17:15 -0400)]
Add sem_wait timeout on the kconsumerd thread
It's unlikely to happen but is the kconsumerd was not able to send us
the sock ready command, at least the session daemon will not stall
forever. A 30 seconds timeout is added and error is handle after that.
Also adds the handling of the sem_init ret value and adds mutex lock
around the kconsumerd pid in the same function.
There was also a problem on error code handling where LTTCOMM error was
returned by spawn kconsumerd function but handled as if it might be
negative at the end of the call chain. This was preventing to return the
right error code to the client when the kconsumerd failed.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 4 Oct 2011 20:24:10 +0000 (16:24 -0400)]
Remove session list lock acquisition of the search
The lock/unlock of the session list in the find session by name function
is removed thus the caller must held the lock before calling that search
function.
Also, the path and name are now static size on the stack and not
allocated strings at session creation.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 4 Oct 2011 14:54:05 +0000 (10:54 -0400)]
Fix possible use of uninitialized variable
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 3 Oct 2011 19:23:16 +0000 (15:23 -0400)]
Fix session list deadlock
On session destroy, the session list lock is acquired but this call
could be made inside a section where this lock is already acquired. The
call has been changed to using the session pointer and not the name thus
removing a useless list walk.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 3 Oct 2011 18:46:40 +0000 (14:46 -0400)]
Fix enable syscall and bad value of poll set size
First, when enabling syscall tracing, on success 0 is return so we don't
add this value to the event list or else we were polling on fd 0 which
is not a valid event fd. A normal kernel create event, the fd of that
event is returned from the ioctl which is not the case for syscalls.
Second, the poll size was not reset when updating the kernel poll set so
at each kernel poll update, the value was not coherent with the real
poll size and thus creating unstable behavior (unknown).
This commit MIGHT fix a blocking problem happening when using a custom
channel and enabling syscall on it. This issue was reported by Julien
Desfossez <julien.desfossez@polymtl.ca>.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Yannick Brosseau [Mon, 19 Sep 2011 21:17:56 +0000 (17:17 -0400)]
Don't report an error when the last section of the path exist in mkdir_recursive
Minor adjustment for perror call changed to PERROR using the lttngerr.h
interface.
Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Fri, 30 Sep 2011 15:32:22 +0000 (11:32 -0400)]
Version 2.0-pre14
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 30 Sep 2011 15:23:32 +0000 (11:23 -0400)]
Implement enable all vs enable tracepoints vs enable syscalls
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 30 Sep 2011 13:58:50 +0000 (09:58 -0400)]
Update documentation for enable all events
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Fri, 30 Sep 2011 13:42:10 +0000 (09:42 -0400)]
Enable all events command enable also syscalls
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 29 Sep 2011 20:24:16 +0000 (16:24 -0400)]
Add liburcu function check to build system
rcu_thread_online and rcu_thread_offline are needed and only available
on urcu version >= 0.6.5
Reported-by: Yannick Brosseau <yannick.brosseau@polymtl.ca>
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 29 Sep 2011 17:16:55 +0000 (13:16 -0400)]
Write debug message on stderr
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 29 Sep 2011 16:10:36 +0000 (12:10 -0400)]
Fix epoll not handling signal interruption
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 27 Sep 2011 14:06:42 +0000 (10:06 -0400)]
Rename traceable-app and change ust app call
Rename traceable-app to ust-app.c/.h and all calls to ust_app_* to be
consistent with the code base.
Add a channel_ust_copy() to copy UST channel and event list. Mostly used
for channel copy between ust session and ust app.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Tue, 27 Sep 2011 14:07:42 +0000 (10:07 -0400)]
Update quickstart, describing syscall events
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 27 Sep 2011 13:30:49 +0000 (09:30 -0400)]
ltt-kconsumerd: Fix incorrect typing
ltt-kconsumerd.c: In function ‘on_recv_fd’:
ltt-kconsumerd.c:298: warning: passing argument 2 of
‘kernctl_get_mmap_len’ from incompatible pointer type
../include/lttng-kernel-ctl.h:47: note: expected ‘long unsigned int *’
but argument is of type ‘size_t *’
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Mon, 26 Sep 2011 22:33:16 +0000 (18:33 -0400)]
Add enable channel support for UST
Also improve data structure for UST session control to fit new model
where we will have a list of lttng domain to indentify the ust session.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 26 Sep 2011 22:32:45 +0000 (18:32 -0400)]
Fix UST define in global headers
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 26 Sep 2011 22:30:54 +0000 (18:30 -0400)]
Update UST ABI and add UST some error message
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 26 Sep 2011 22:30:28 +0000 (18:30 -0400)]
Fix channel name in all kernel event test
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 23 Sep 2011 16:54:49 +0000 (12:54 -0400)]
Add default ust channel attributes
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Mon, 26 Sep 2011 18:59:49 +0000 (14:59 -0400)]
kconsumerd: fix strict aliasing
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 26 Sep 2011 18:52:13 +0000 (14:52 -0400)]
Add missing rculfhash.h header to make dist
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Mon, 26 Sep 2011 18:48:41 +0000 (14:48 -0400)]
Merge rculfhash into lttng-tools
rculfhash is ready enough for what is needed by lttng-tools. Merge code
as from commit
4dd4a47355d9d870d482248786b4adf8b1317bfe of
urcu/ht-shrink branch.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Thu, 22 Sep 2011 22:17:19 +0000 (18:17 -0400)]
Improve debugging and add PERROR call
Add three level of verbosity with DBG, DBG2 and DBG3.
Each perror() call from now on should use PERROR().
Migration to these new debug facilities will come later on and
progressively.
To increase debug level use -v, -vv and -vvv respectively.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 22 Sep 2011 21:14:58 +0000 (17:14 -0400)]
Missing negative sign to interpret error code
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 22 Sep 2011 20:22:02 +0000 (16:22 -0400)]
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>
David Goulet [Mon, 19 Sep 2011 20:49:41 +0000 (16:49 -0400)]
Replace sys_enter/exit from tests
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 19 Sep 2011 20:44:35 +0000 (16:44 -0400)]
Fix wrong logical operator
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 19 Sep 2011 20:23:47 +0000 (16:23 -0400)]
Fix uninitialized pointer
Causing the free() to fail on error.
Reported-by: Yannick Brosseau <yannick.brosseau@polymtl.ca>
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Mon, 19 Sep 2011 14:12:08 +0000 (10:12 -0400)]
Rename syscalls -> syscall in UI/API/ABI
For consistency with other tracing modes.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Fri, 16 Sep 2011 23:33:28 +0000 (19:33 -0400)]
Add support for --syscalls
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Fri, 16 Sep 2011 16:06:08 +0000 (12:06 -0400)]
Update version to 2.0-pre13
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 16 Sep 2011 16:01:01 +0000 (12:01 -0400)]
Add missing file to extra dist
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 16 Sep 2011 15:32:50 +0000 (11:32 -0400)]
Add TODO file
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 15 Sep 2011 23:24:23 +0000 (19:24 -0400)]
Major code cleanup
Cleanup main.c of the session daemon. The main switch case to handle
client command is made more modular and clearer. Each command has a
function associated with it beginning by 'cmd_*'. Also adds channel.c/.h
and event.c/.h containing helper function to execute client commands.
The reste of the modified code is simple cleanup.
Some minor bugs were fixed also by this cleanup. All and for all, this
makes easier to maintain the session daeamon code base.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 15 Sep 2011 23:23:52 +0000 (19:23 -0400)]
Minor fixes to header files
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 9 Sep 2011 18:43:13 +0000 (14:43 -0400)]
Add poll/epoll compat layer for session daemon
This is a big modification of the session daemon code base. Every thread
is monitoring file descriptors using a poll set. This commit adds a
compat wrapper for the use of poll(2) or epoll(7) determined at compile
time on if the epoll API is available. Since epoll(7) is Linux specific,
the poll(2) fallback is necessary for portability.
By default, epoll(7) will be used having the --enable-epoll default to yes.
To use the poll(2) API, simply run with --disable-epoll when running
configure.
With this implementation, some fixes are also introduced.
* Two missing notification to the consumer when the default channel is
created.
* Memory and socket file descriptor leak when connect()/close() is
done by the daemon alive check of the lttngctl API.
* Root check (UID=0) on cleanup() before removing LTTNG_RUNDIR.
* Comments here and there.
At this commit, tests were made on the CPU hot plug feature, multiple
UST registration at the same time and git tree tests. All passed for
poll(2) and epoll(7) implementation.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 12 Sep 2011 14:53:26 +0000 (10:53 -0400)]
Add epoll check to autoconf and Makefile
Adds two m4 macros to check for epoll(7) API and change the gitignore to
fit thoses changes.
Also change the Makefile to add COMPAT_EPOLL value in order to select
the right source file at compile time.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 13 Sep 2011 16:58:33 +0000 (12:58 -0400)]
Fix enable-channel that did not handle correctly lttng domains
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Sat, 10 Sep 2011 19:17:56 +0000 (12:17 -0700)]
ltt-sessiond: fix 2 double-unlock
After a list iteration, the pointer is not null, so the unlock would
trigger.
The second path modified does 2 unlock when taking the if () branch.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Thu, 8 Sep 2011 21:23:22 +0000 (17:23 -0400)]
Cleanup poll handling events
Make the accept in the thread client only if we have a POLLIN request.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 8 Sep 2011 19:15:35 +0000 (15:15 -0400)]
Improve poll management of registration thread
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 8 Sep 2011 16:27:19 +0000 (12:27 -0400)]
Increase listen() connexion limit
To handle a large number of UST registration at the same time, this
limit needs to be raised.
See /proc/sys/net/core/somaxconn for the maximum possible connexions.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 8 Sep 2011 14:35:11 +0000 (10:35 -0400)]
Fix missing events for all threads pollfd struct
The thread_quit_pipe event field of the pollfd was not set nor zeroed.
At high rate UST registration and modifying the pollfd set frequently,
the session daemon hang on the poll() call even if the thread_quit_pipe
was closed and explain by poll() "undefined behavior".
Also add a MSG() and ERR() statement after some errors.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 7 Sep 2011 19:50:08 +0000 (15:50 -0400)]
Add a safety check to nbfd of apps cmd pollfd
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 7 Sep 2011 16:26:13 +0000 (12:26 -0400)]
Add benchmark directory to git ignore
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 6 Sep 2011 21:10:42 +0000 (17:10 -0400)]
Fix pollfd update bug in thread_manage apps
When updating the pollfd array, the wrong pollfd size was used so at
multiple UST registration at the same time the socket was not added to
the poll list.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 1 Sep 2011 20:46:39 +0000 (16:46 -0400)]
Remove fork() for the wait shm creation process
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 1 Sep 2011 17:58:40 +0000 (13:58 -0400)]
Add the notify UST application scheme
This commit introduce the use of a wait shm futex that is used to notify
applications that the session daemon is running and ready to accept
registrations. See shm.c/.h for those calls and the new
futex_wait_update() in futex.c. This scheme is also found in lttng-ust
2.0 and mainly taken from there.
Also, enable-channel of the lttng client was modified to accept UST PID
domain. It's the first phase for testing UST features of the
liblttngctl.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Sun, 28 Aug 2011 21:29:40 +0000 (17:29 -0400)]
Update and fix UST register and session creation
The handling of the apps command pollfd, in the registration thread and
the update function, was incorrect. The update process, when
unregistring, was overwritting connected socket thus not being able to
monitor them with poll().
This is the first step forward to fully support LTTng UST tracer.
Add create UST session to ustctl and the session daemon. At this
commit, this feature is not used yet.
Move the register done command to ustctl. Adds the ustcomm_send_command
which returns the reply structure from the UST application.
The ustctl and ustcomm are cleaned up.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 20:20:03 +0000 (16:20 -0400)]
Merge branch 'master' of git://git.lttng.org/lttng-tools
David Goulet [Fri, 26 Aug 2011 18:42:07 +0000 (14:42 -0400)]
Better debug and fix an error handling
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Fri, 26 Aug 2011 17:52:32 +0000 (13:52 -0400)]
Merge branch 'master' of ssh://git.lttng.org/home/git/lttng-tools
David Goulet [Fri, 26 Aug 2011 17:15:37 +0000 (13:15 -0400)]
Fix missing headers
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 16:41:56 +0000 (12:41 -0400)]
Fix memory leaks and modify kernel session creation
Set the path of the kernel session in trace-kernel.c in order to
centralize that setup at only one place.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 16:23:22 +0000 (12:23 -0400)]
Add UST trace data structure and functions
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 16:27:29 +0000 (12:27 -0400)]
Fix tests to fit renaming
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 15:30:32 +0000 (11:30 -0400)]
Rename trace.c/.h to trace-kernel
Note that the file only contains evidently kernel data structures and
functions signatures.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 26 Aug 2011 15:15:50 +0000 (11:15 -0400)]
Check declaration of futex_async and update urcu needed version
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Julien Desfossez [Thu, 25 Aug 2011 21:51:38 +0000 (17:51 -0400)]
Init the kconsumerd error socket
The kconsumerd_error_socket must be initialised to a negative value when
we create the context, otherwise we don't know if it is defined or just
random.
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 21:36:04 +0000 (17:36 -0400)]
Update version to 2.0-pre12
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 21:34:59 +0000 (17:34 -0400)]
Fix missing header in Makefile.am
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 23 Aug 2011 17:56:15 +0000 (13:56 -0400)]
Add support for UST application registration
This is a big commit ;)
Introduce two new threads and one almost rewritten. The first thread
added is the one that manage UST registration. This thread is *very*
lightweight and, basically, receive the registration request, queue it
in a lock free queue and wake up the dispatch thread (second new thread)
using a N wakers / 1 waiters futex scheme.
This dispatch thread will then dequeue and notify the application thread
(that manages application registration and monitor UST sockets). The
notification consist of sending the dequeued node (command) to the
application thread pipe where the application thread is blocked on
poll().
For now, the registration is handle meaning that the application will
get added to the session daemon internal data structures, the daemon
will send a REGISTER_DONE command to the application and, finally, end
the communication by waiting for the UST reply of the previous command.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 23 Aug 2011 17:49:04 +0000 (13:49 -0400)]
Adding LTTng UST 2.0 ABI
Taken from the git head of UST.
Branch: lttng-ust-2.0
Commit id:
66c7df9e6c8b4e2ea609a7e3028346ada35ddaec
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 19:42:20 +0000 (15:42 -0400)]
Add NULL pointer check
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 19:21:18 +0000 (15:21 -0400)]
Fix AUTHORS
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Thu, 25 Aug 2011 18:12:04 +0000 (14:12 -0400)]
Fix headers include and rename kernctl.h header
Move kernctl.h to lttng-kernel-ctl.h into the include directory.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Tue, 23 Aug 2011 18:24:42 +0000 (14:24 -0400)]
Cleanup comments and bad indent
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Sat, 20 Aug 2011 20:28:00 +0000 (16:28 -0400)]
Add missing error handling in liblttngctl
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Sat, 20 Aug 2011 18:11:00 +0000 (14:11 -0400)]
thread_manage_apps: update and comment socket handling
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Fri, 19 Aug 2011 17:36:50 +0000 (13:36 -0400)]
Missing -k option in quickstart guide
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 17 Aug 2011 20:23:35 +0000 (16:23 -0400)]
Fix incorrect thread cleanup on blocking recv()
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 17 Aug 2011 20:15:01 +0000 (16:15 -0400)]
Fix tracing group spawning the session daemon
The check was incorrect for the session daemon path in the liblttngctl.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Wed, 17 Aug 2011 15:49:37 +0000 (11:49 -0400)]
Add lttng-modules detection for tests
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Julien Desfossez [Tue, 16 Aug 2011 23:25:04 +0000 (19:25 -0400)]
Callbacks on receive and update FD
The user of the lib can now take control over a new FD or the update
operation of an existing FD.
Opening the output tracefile is now the responsiblity of the user
and not the library itself.
[ Edit by Mathieu Desnoyers: comment and teardown cleanups ]
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 20:46:27 +0000 (16:46 -0400)]
Parametrize enable-channel help
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Julien Desfossez [Tue, 16 Aug 2011 17:57:20 +0000 (13:57 -0400)]
Function to handle snapshots in liblttngkconsumerd
This patch adds the wrappers to take a snapshot for a specific FD and
to retrieve the produced position.
Also refactor the sync tracefile operation.
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 17:04:22 +0000 (13:04 -0400)]
Set default number of metadata subbuffers to 2
LTTng uses a wait/wakeup scheme when the metadata buffer is full, so
there is no need to waste memory.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 16:56:07 +0000 (12:56 -0400)]
Turn consumer "normal" error into debug statement (with comment)
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Tue, 16 Aug 2011 14:24:51 +0000 (10:24 -0400)]
Send data to kconsumerd before tracing start
The metadata buffer of the kernel can get overflowed between the start
of the kernel consumer and the kernel start session. Sending the fds
before tracing start fix that problem.
Fixed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Mathieu Desnoyers [Tue, 16 Aug 2011 13:55:30 +0000 (09:55 -0400)]
Modify default kernel channel size/number
Too small kernel channels (4kB) leads to unwelcome delay at trace
indexing and adds buffer switch overhead. Use a default closer to the
0.x LTTng for buffer size:
256kB subbuffer
4 subbuffers/buffer
for 1MB per channel per CPU in normal tracing mode, and 1MB + 256kB per
channel per CPU in overwrite mode.
We currently plan to still use 4kB * 8 sub-buffers for UST because we
allocate these buffers per process, which makes memory consumption more
of a concern.
The metadata channel is kept small (4kB), but we keep a number of
subbuffer of 8 for now, as the behavior between "start" and spawning the
consumer is in the wrong order: we will need to spawn the consumer
before start is performed, because "start" returns blocks for 10 seconds
and returns an error if the buffers are too small to write metadata (and
they are not consumed).
Also fix a memory leak in init_default_channel.
process_client_msg() now uses a check / alloc / failure for channel
lookup rather than an endless retry, which could have led to denial of
service in case of internal error.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mathieu Desnoyers [Tue, 16 Aug 2011 13:18:36 +0000 (09:18 -0400)]
kconsumerd: fix infinite loop in splice handling of subbuf larger than 4k
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
David Goulet [Mon, 15 Aug 2011 22:16:07 +0000 (18:16 -0400)]
Add kernel events tests
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 20:21:44 +0000 (16:21 -0400)]
Update tests EXTRA_DIST
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 20:18:34 +0000 (16:18 -0400)]
Add basic kernel tracing tests
This test is the basic use case of kernel tracing by creating a session,
enabling all events, tracing and destroying the session.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 20:14:45 +0000 (16:14 -0400)]
Continue parsing options for add-context on error
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Mon, 15 Aug 2011 17:00:11 +0000 (13:00 -0400)]
Add runall.sh test script to distribution
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Sun, 14 Aug 2011 21:24:40 +0000 (17:24 -0400)]
Rename and export lib kernel consumer
The old liblttkconsumerd is renamed to liblttngkconsumerd and exported
publicly having the public header "lttng/lttng-kconsumerd.h".
To link with this library, use -llttngkconsumerd.
Every public functions now begins with the "lttng_" prefix to fit the
lttng public namespace.
Comments are changed also to fit 80 lines standard and the rest of the
git tree comments.
This complete renaming was motivated by the new tool made by Julien
Desfossez called 'lttngtop' which uses the kernel consumer library to
create a custom consumer. More works will add consumers in the lttv and
babeltrace projects.
Please see lttng.org to learn about lttngtop.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
Julien Desfossez [Sun, 14 Aug 2011 15:14:14 +0000 (11:14 -0400)]
Kconsumerd use the output parameter
Signed-off-by: Julien Desfossez <julien.desfossez@polymtl.ca>
David Goulet [Sat, 13 Aug 2011 17:49:19 +0000 (13:49 -0400)]
Fix bad channel output when sending to consumer
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 20:26:18 +0000 (16:26 -0400)]
Permit custom consumer registration to a session
Introduce the new API call lttng_register_consumer(...).
By giving a lttng_handle and a socket path, the fds will be sent to that
socket for the specific tracing session and domain. No kernel consumer
will be spawned by the session daemon for that session.
At this point, only kernel consumer is supported.
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 21:56:34 +0000 (17:56 -0400)]
Fix missing file for make dist
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 21:00:33 +0000 (17:00 -0400)]
Fix copy_string dst validation
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:43:23 +0000 (14:43 -0400)]
Add tar and bz2 file to gitignore
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:34:55 +0000 (14:34 -0400)]
Update version to 2.0-pre11
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:38:01 +0000 (14:38 -0400)]
Fix makefile
Signed-off-by: David Goulet <david.goulet@polymtl.ca>
David Goulet [Fri, 12 Aug 2011 18:12:55 +0000 (14:12 -0400)]
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>
This page took 0.042788 seconds and 5 git commands to generate.