lttng-tools.git
11 years agoFix: don't use daemon() to daemonize
David Goulet [Tue, 12 Nov 2013 17:34:14 +0000 (12:34 -0500)] 
Fix: don't use daemon() to daemonize

This is done because now we can control when the parent should return
from the fork(). With this patch, it only returns when the session
daemon is ready to operate meaning it can receive commands.

The daemonize process for the child mimicks daemon(3) as in it sets the
setsid, chdir to / and dup 0, 1 and 2 into /dev/null.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: bad type of return variable
David Goulet [Tue, 12 Nov 2013 18:41:23 +0000 (13:41 -0500)] 
Fix: bad type of return variable

Fix coverity issue 1128442.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: typo in --sig-parent help
David Goulet [Tue, 12 Nov 2013 14:56:45 +0000 (09:56 -0500)] 
Fix: typo in --sig-parent help

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Duplicate lttng-sessiond thread creation comments
Jérémie Galarneau [Mon, 11 Nov 2013 20:53:24 +0000 (15:53 -0500)] 
Fix: Duplicate lttng-sessiond thread creation comments

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Don't dispatch uninitialized hash tables to the ht_cleanup thread
Jérémie Galarneau [Mon, 11 Nov 2013 20:30:08 +0000 (15:30 -0500)] 
Fix: Don't dispatch uninitialized hash tables to the ht_cleanup thread

Some error-handling code paths may call ht_cleanup_push() with NULL hash
tables which will crash the clean-up thread.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: add asserts and remove unused variable
David Goulet [Mon, 11 Nov 2013 19:42:06 +0000 (14:42 -0500)] 
Fix: add asserts and remove unused variable

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoUse lttng_read/lttng_write wrappers
Mathieu Desnoyers [Mon, 11 Nov 2013 19:12:26 +0000 (14:12 -0500)] 
Use lttng_read/lttng_write wrappers

This ensures we deal with EINTR and partial reads in the same way
everywhere.

This also fixes non-null-terminated string bug in
src/common/compat/compat-epoll.c and src/common/sessiond-comm/inet.c.

Also, lttng_pipe_read() and lttng_pipe_write() return values are changed
to simply match those of lttng_read() and lttng_write(). Their
implementation is replaced by the wrappers, except for locking and
checks.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoImplement lttng_read()/lttng_write()
Mathieu Desnoyers [Mon, 11 Nov 2013 17:42:08 +0000 (12:42 -0500)] 
Implement lttng_read()/lttng_write()

Handle EINTR and partial read/write in wrapper functions.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorelayd live cleanup
Mathieu Desnoyers [Mon, 11 Nov 2013 17:24:02 +0000 (12:24 -0500)] 
relayd live cleanup

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoComment why we cannot rmdir the lttng and relayd rundir
Mathieu Desnoyers [Mon, 11 Nov 2013 15:51:58 +0000 (10:51 -0500)] 
Comment why we cannot rmdir the lttng and relayd rundir

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoRemove jul attach/detach, not needed for now
Mathieu Desnoyers [Mon, 11 Nov 2013 15:42:26 +0000 (10:42 -0500)] 
Remove jul attach/detach, not needed for now

Not needed, and corner cases not covered.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agojul-thread.h: cleanup include guards
Mathieu Desnoyers [Mon, 11 Nov 2013 15:28:56 +0000 (10:28 -0500)] 
jul-thread.h: cleanup include guards

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: sessiond jul.c comments and error path
Mathieu Desnoyers [Mon, 11 Nov 2013 15:28:05 +0000 (10:28 -0500)] 
Cleanup: sessiond jul.c comments and error path

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: jul.h include guards
Mathieu Desnoyers [Mon, 11 Nov 2013 15:03:46 +0000 (10:03 -0500)] 
Cleanup: jul.h include guards

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: comment not matching code
Mathieu Desnoyers [Mon, 11 Nov 2013 15:02:32 +0000 (10:02 -0500)] 
Fix: comment not matching code

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoRevert "Fix: remove the rundir at the end of the cleanup"
Mathieu Desnoyers [Mon, 11 Nov 2013 14:56:37 +0000 (09:56 -0500)] 
Revert "Fix: remove the rundir at the end of the cleanup"

This reverts commit 43c5442ea57aca20701fd49fba1e3456d48cc7b2.

We cannot remove the toplevel lttng rundir when sessiond exits, now that
it is also used by relayd.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoRevert "Fix: remove relayd rundir on cleanup"
Mathieu Desnoyers [Mon, 11 Nov 2013 14:52:13 +0000 (09:52 -0500)] 
Revert "Fix: remove relayd rundir on cleanup"

This reverts commit 3f28e5619d0a5c2aacef18251b3263bd632199da.

When there are multiple relayd in parallel, we don't want to have a
teardown vs startup race where the directory is removed just after its
supposed creation.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: remove relayd rundir on cleanup
David Goulet [Fri, 8 Nov 2013 18:55:10 +0000 (13:55 -0500)] 
Fix: remove relayd rundir on cleanup

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoDoc: update lttng.1 man page with JUL options
David Goulet [Thu, 7 Nov 2013 23:36:57 +0000 (18:36 -0500)] 
Doc: update lttng.1 man page with JUL options

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoStatically linked lttng-ctl to live test
David Goulet [Wed, 6 Nov 2013 22:18:16 +0000 (17:18 -0500)] 
Statically linked lttng-ctl to live test

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoImplement live viewer SEEK_LAST
Julien Desfossez [Wed, 16 Oct 2013 18:21:02 +0000 (14:21 -0400)] 
Implement live viewer SEEK_LAST

When attaching to a live session, the viewer can now specify that it
wants to only receive the new packets instead of receiving the trace
from the beginning.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoLive unit test
Julien Desfossez [Wed, 6 Nov 2013 16:38:52 +0000 (11:38 -0500)] 
Live unit test

The actual test :
- connect to the relayd on localhost
- list the sessions (should find only one)
- attach to the first session
- receive all the streams
- get all the metadata
- get one index per stream
- get one data packet

Then the session is stopped, destroyed and the daemons killed.

Two tests are also added just to for the lttng commands with a --live
session.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoLive: send the number of streams in list_sessions
Julien Desfossez [Wed, 6 Nov 2013 16:38:51 +0000 (11:38 -0500)] 
Live: send the number of streams in list_sessions

This allows the viewer to quickly know if a session is really active or
just created and idle. Before this patch, we had to attach to a session
to discover the number of streams active in that session.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: remove the rundir at the end of the cleanup
David Goulet [Wed, 6 Nov 2013 18:29:07 +0000 (13:29 -0500)] 
Fix: remove the rundir at the end of the cleanup

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoWrite TCP JUL port in the lttng's rundir
David Goulet [Wed, 6 Nov 2013 18:25:20 +0000 (13:25 -0500)] 
Write TCP JUL port in the lttng's rundir

The default name is jul.port and this file will be read by the JavaAgent
at init time so it can connect to a custom port without recompiling the
Java application or modifying the Java application with a sessiond port
option.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: application SIGBUS when starting in parallel with sessiond
David Goulet [Wed, 6 Nov 2013 15:49:43 +0000 (10:49 -0500)] 
Fix: application SIGBUS when starting in parallel with sessiond

There is a race between application startup and sessiond startup, where there
is an intermediate state where applications can SIGBUS if they see a zero-sized
shm, if the shm has been created, but not ftruncated yet.

On the sessiond side, we need to ensure that the shared memory is writeable by
applications as long as its size is 0, which allow applications to perform
ftruncate and extend its size.

On the UST side, another commit needs to ensure that UST can read the shared
memory file descriptor with a read() system call before they try accessing it
through a memory map (which triggers the SIGBUS if the access goes beyond the
file size)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Uninitialized scalar variable
David Goulet [Mon, 4 Nov 2013 21:34:38 +0000 (16:34 -0500)] 
Fix: Uninitialized scalar variable

Fix coverity issue 1099611.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: missing LTTNG_OK return value for snapshot
David Goulet [Mon, 4 Nov 2013 21:24:25 +0000 (16:24 -0500)] 
Fix: missing LTTNG_OK return value for snapshot

After a successful kernel snapshot, the ret = LTTNG_OK was missing thus
returning 0 to the caller which was expecting LTTNG_OK.

Also, this patch fixes the live_timer_interval check at start that CAN
be -1 thus not trying to start it.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: ressource leak in error path
David Goulet [Mon, 4 Nov 2013 20:47:17 +0000 (15:47 -0500)] 
Fix: ressource leak in error path

Fix coverity issue 1107347.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: bad copy paste in enable-channel command
David Goulet [Mon, 4 Nov 2013 20:45:04 +0000 (15:45 -0500)] 
Fix: bad copy paste in enable-channel command

Fix coverity issue 1125546.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: fix misleading comment
David Goulet [Mon, 4 Nov 2013 19:26:04 +0000 (14:26 -0500)] 
Fix: fix misleading comment

Fixes #655

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: don't enable if param overflows when rounded up
David Goulet [Mon, 4 Nov 2013 19:17:20 +0000 (14:17 -0500)] 
Fix: don't enable if param overflows when rounded up

Fixes #641

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: add default name in snapshot add-output msg
David Goulet [Mon, 4 Nov 2013 18:43:32 +0000 (13:43 -0500)] 
Fix: add default name in snapshot add-output msg

Fixes #634

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: arguments in the wrong order for fd-limit
David Goulet [Mon, 4 Nov 2013 18:19:06 +0000 (13:19 -0500)] 
Fix: arguments in the wrong order for fd-limit

This is related to a bug we've been seeing with a very HIGH load of
applications registering at the same time where the get/put counters get
out of sync. exhausting the fd pool quite rapidely even though there was
no fd leak.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Some corrections to the lttng man page
Jérémie Galarneau [Wed, 23 Oct 2013 16:08:47 +0000 (12:08 -0400)] 
Fix: Some corrections to the lttng man page

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: use after free in jul_list_events
David Goulet [Thu, 17 Oct 2013 19:39:44 +0000 (15:39 -0400)] 
Fix: use after free in jul_list_events

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: memory leak in error path in JUL list
David Goulet [Wed, 16 Oct 2013 19:42:52 +0000 (15:42 -0400)] 
Fix: memory leak in error path in JUL list

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: JUL domain support with --disable-lttng-ust
David Goulet [Wed, 16 Oct 2013 15:41:36 +0000 (11:41 -0400)] 
Fix: JUL domain support with --disable-lttng-ust

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd lttng list -j command to list possible events
David Goulet [Thu, 3 Oct 2013 19:20:07 +0000 (15:20 -0400)] 
Add lttng list -j command to list possible events

For the JUL domain, add the -j/--jul support for lttng list.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd jul-app ABI/API and handle registration
David Goulet [Tue, 1 Oct 2013 18:22:22 +0000 (14:22 -0400)] 
Add jul-app ABI/API and handle registration

Registration is done in the jul thread and the created jul-app are
attached to existing UST app.

At this stage, there is no need for the UST app to be linked to the JUL
app but in the future, by adding new features, this will be needed.

Enable/Disable one or all events are supported. Also, once a JUL
application registers, it's updated with the already enabled events.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd JUL registration thread
David Goulet [Mon, 30 Sep 2013 21:28:16 +0000 (17:28 -0400)] 
Add JUL registration thread

Listening on port 5345 by default and adds the --jul-tcp-port option to
the session daemon command line options.

At this commit, the thread is started and listening for incoming
registration but they are not handled.

This commit adds a new thread to the session daemon that is spawned by
default once the launched.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd jul.c/.h to sessiond code
David Goulet [Mon, 30 Sep 2013 19:06:27 +0000 (15:06 -0400)] 
Add jul.c/.h to sessiond code

This adds data structures to handle the JUL domain. The domain is added
to a ust session and created/destroyed in the trace-ust.c API.

Nothing is working yet, just putting the piece together.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd -j/--jul to lttng UI and ABI
David Goulet [Mon, 30 Sep 2013 16:23:16 +0000 (12:23 -0400)] 
Add -j/--jul to lttng UI and ABI

The JUL domain is set as unsupported in the session daemon so only the
client side is implemented with help updated.

Again, on the session daemon side, this is set as unsupported.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: recv creds comm should handle partial receive
David Goulet [Fri, 11 Oct 2013 20:02:13 +0000 (16:02 -0400)] 
Fix: recv creds comm should handle partial receive

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: set app socket timeout just after accept()
David Goulet [Fri, 11 Oct 2013 18:59:45 +0000 (14:59 -0400)] 
Fix: set app socket timeout just after accept()

This is to make sure the socket has a timeout *before* doing any I/O
operations on it.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd --live to lttng.1 man page
David Goulet [Thu, 10 Oct 2013 18:41:46 +0000 (14:41 -0400)] 
Add --live to lttng.1 man page

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: put ctf trace ht ref. inside stream
David Goulet [Thu, 10 Oct 2013 16:24:43 +0000 (12:24 -0400)] 
Fix: put ctf trace ht ref. inside stream

Acked-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: remove relative include for health check
David Goulet [Wed, 9 Oct 2013 20:50:29 +0000 (16:50 -0400)] 
Fix: remove relative include for health check

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoDeprecate lttng-health-check.3 man page
David Goulet [Wed, 9 Oct 2013 20:44:36 +0000 (16:44 -0400)] 
Deprecate lttng-health-check.3 man page

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoUpdate health check regression tests
Mathieu Desnoyers [Wed, 9 Oct 2013 18:32:31 +0000 (14:32 -0400)] 
Update health check regression tests

Update to new health_check program output.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agotests: health check: OK if consumerd is not running
Mathieu Desnoyers [Wed, 9 Oct 2013 18:06:18 +0000 (14:06 -0400)] 
tests: health check: OK if consumerd is not running

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: consumerd/relayd health paths
Mathieu Desnoyers [Wed, 9 Oct 2013 18:00:13 +0000 (14:00 -0400)] 
Fix: consumerd/relayd health paths

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoUnlink rundir files individually
Mathieu Desnoyers [Wed, 9 Oct 2013 17:50:34 +0000 (13:50 -0400)] 
Unlink rundir files individually

Cannot use rm -rf anymore since relayd now need to have the lttng rundir
available beyond the lifetime of sessiond.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: join live threads after joining others
Mathieu Desnoyers [Wed, 9 Oct 2013 15:57:26 +0000 (11:57 -0400)] 
Fix: join live threads after joining others

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAdd health thread to relayd
Mathieu Desnoyers [Wed, 9 Oct 2013 14:21:14 +0000 (10:21 -0400)] 
Add health thread to relayd

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agohealth consumerd: add missing extern
Mathieu Desnoyers [Wed, 9 Oct 2013 13:46:40 +0000 (09:46 -0400)] 
health consumerd: add missing extern

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agolttng ctl health: add string description of relayd live threads
Mathieu Desnoyers [Wed, 9 Oct 2013 13:38:37 +0000 (09:38 -0400)] 
lttng ctl health: add string description of relayd live threads

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorelayd: add health check support for live threads
Mathieu Desnoyers [Wed, 9 Oct 2013 13:36:56 +0000 (09:36 -0400)] 
relayd: add health check support for live threads

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoHealth check test: add relayd check support
Mathieu Desnoyers [Sat, 5 Oct 2013 00:53:55 +0000 (20:53 -0400)] 
Health check test: add relayd check support

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoHealth check: implement health check query in sessiond and consumerd
Mathieu Desnoyers [Sat, 5 Oct 2013 00:15:19 +0000 (20:15 -0400)] 
Health check: implement health check query in sessiond and consumerd

At this stage, tests/regression/tools/health/health_check queries
sessiond and consumerd with the new API, however, the scripts using this
program have not yet been changed, and are therefore expected to fail.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agohealth check API
Mathieu Desnoyers [Mon, 30 Sep 2013 21:34:19 +0000 (17:34 -0400)] 
health check API

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoImplement consumer health check thread
Mathieu Desnoyers [Tue, 24 Sep 2013 18:35:42 +0000 (14:35 -0400)] 
Implement consumer health check thread

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoMove health comm to health-internal.h
Mathieu Desnoyers [Tue, 24 Sep 2013 16:20:41 +0000 (12:20 -0400)] 
Move health comm to health-internal.h

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoconsumerd: add health instrumentation into threads
Mathieu Desnoyers [Mon, 16 Sep 2013 22:54:42 +0000 (17:54 -0500)] 
consumerd: add health instrumentation into threads

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoconsumerd: register threads to health monitoring
Mathieu Desnoyers [Mon, 16 Sep 2013 22:44:22 +0000 (17:44 -0500)] 
consumerd: register threads to health monitoring

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorelayd: add health instrumentation to threads
Mathieu Desnoyers [Mon, 16 Sep 2013 14:47:16 +0000 (09:47 -0500)] 
relayd: add health instrumentation to threads

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorelayd: register threads to health monitoring
Mathieu Desnoyers [Mon, 16 Sep 2013 14:30:34 +0000 (09:30 -0500)] 
relayd: register threads to health monitoring

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoMove health into its own common/ static library
Mathieu Desnoyers [Sun, 15 Sep 2013 22:03:24 +0000 (17:03 -0500)] 
Move health into its own common/ static library

- Introduce lttng/health-internal.h (not installed)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoTurn health.h/health.c into a library
Mathieu Desnoyers [Sun, 15 Sep 2013 21:52:54 +0000 (16:52 -0500)] 
Turn health.h/health.c into a library

All app-specific state is now in an object: struct health_app.

This moves the per-application enumeration into health-sessiond.h (for
sessiond).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: health.h
Mathieu Desnoyers [Sun, 15 Sep 2013 20:07:58 +0000 (15:07 -0500)] 
Cleanup: health.h

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: sessiond poll thread normal error path should return 0
Mathieu Desnoyers [Tue, 24 Sep 2013 18:35:59 +0000 (14:35 -0400)] 
Fix: sessiond poll thread normal error path should return 0

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: relayd: incorrectly placed exit labels
Mathieu Desnoyers [Mon, 16 Sep 2013 13:33:15 +0000 (08:33 -0500)] 
Fix: relayd: incorrectly placed exit labels

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: add missing pthread_join in sessiond
Mathieu Desnoyers [Mon, 16 Sep 2013 13:31:28 +0000 (08:31 -0500)] 
Fix: add missing pthread_join in sessiond

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: set_health_socket_path() as tracing group
Mathieu Desnoyers [Sun, 15 Sep 2013 22:35:34 +0000 (17:35 -0500)] 
Fix: set_health_socket_path() as tracing group

liblttng-ctl running as tracing group should talk to root sessiond, not
per-user sessiond (missing return 0 there). Take care of cleaning up
this function while we are there (the if (uid && is_tracing) {} if
(!uid) {} are misleading).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: add missing pthread_join in sessiond
David Goulet [Mon, 30 Sep 2013 20:24:48 +0000 (16:24 -0400)] 
Fix: add missing pthread_join in sessiond

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: session's hostname wrongly assigned
David Goulet [Mon, 30 Sep 2013 17:19:01 +0000 (13:19 -0400)] 
Fix: session's hostname wrongly assigned

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: remove bad UST header in consumer-timer.c
David Goulet [Mon, 30 Sep 2013 15:19:13 +0000 (11:19 -0400)] 
Fix: remove bad UST header in consumer-timer.c

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: use global thread quit pipe in live
David Goulet [Fri, 27 Sep 2013 22:05:17 +0000 (18:05 -0400)] 
Fix: use global thread quit pipe in live

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: use session id when deleting viewer streams
David Goulet [Fri, 27 Sep 2013 21:41:42 +0000 (17:41 -0400)] 
Fix: use session id when deleting viewer streams

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: remove debug error message
David Goulet [Fri, 27 Sep 2013 20:35:22 +0000 (16:35 -0400)] 
Fix: remove debug error message

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoDocumentation of live usage and protocol
Julien Desfossez [Fri, 27 Sep 2013 20:28:40 +0000 (16:28 -0400)] 
Documentation of live usage and protocol

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
11 years agoRelicense lttng-index and lttng-viewer to BSD
Julien Desfossez [Thu, 12 Sep 2013 20:05:50 +0000 (16:05 -0400)] 
Relicense lttng-index and lttng-viewer to BSD

Signed-off-by: David Goulet <dgoulet@efficios.com>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
11 years agoFix: add missing break in switch for relayd create session
David Goulet [Fri, 27 Sep 2013 19:46:59 +0000 (15:46 -0400)] 
Fix: add missing break in switch for relayd create session

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: don't create index on snapshot
David Goulet [Fri, 27 Sep 2013 19:46:13 +0000 (15:46 -0400)] 
Fix: don't create index on snapshot

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: add index destruction in destroy stream call
David Goulet [Fri, 27 Sep 2013 19:18:13 +0000 (15:18 -0400)] 
Fix: add index destruction in destroy stream call

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: make indexes HT global for real
David Goulet [Fri, 27 Sep 2013 18:54:03 +0000 (14:54 -0400)] 
Fix: make indexes HT global for real

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: rename close_stream and use it in delete session
David Goulet [Fri, 27 Sep 2013 18:48:57 +0000 (14:48 -0400)] 
Fix: rename close_stream and use it in delete session

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: assign values to relayd connection type enum
David Goulet [Fri, 27 Sep 2013 18:40:19 +0000 (14:40 -0400)] 
Fix: assign values to relayd connection type enum

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoMake viewer streams HT global
David Goulet [Fri, 27 Sep 2013 18:35:27 +0000 (14:35 -0400)] 
Make viewer streams HT global

This hash table is meant to be global by design thus making it globally
accessible in the relayd so we don't pass it around in every function
call.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: compile without UST support
David Goulet [Fri, 27 Sep 2013 18:20:51 +0000 (14:20 -0400)] 
Fix: compile without UST support

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTest for new metadata at each packet
Julien Desfossez [Thu, 12 Sep 2013 15:04:22 +0000 (11:04 -0400)] 
Test for new metadata at each packet

After sending each data packet in live, we need to check if new metadata
is available before sending the index informing the viewer it can read
the trace.

Since the data and the metadata are handled by two different threads,
this patch introduces a rendez-vous point: if new metadata is available,
the data thread flushes the metadata stream and waits on a conditionnal
variable. When the metadata thread finishes to send its data, it wakes
up the data thread which can send its index.

That way, the viewer is informed new metadata is available before
attempting to read a packet that might require an update of the
metadata.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoImplement the relayd live features
Julien Desfossez [Sun, 28 Jul 2013 22:57:41 +0000 (18:57 -0400)] 
Implement the relayd live features

The live-reading feature allows a user to read the trace while it is
being recorded. In order to work, this feature requires the trace to be
streamed to lttng-relayd. Then, a viewer can connect to the relayd, list
the sessions, attach to one, and start reading the data. The
live-reading protocol, enforces the viewer to read all the metadata
before trying to read the trace, and checks all the streams for new
activity at a user-defined rate (configured by the new --live parameter
during the session creation).

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: return -errno value on error in run_as mkdir
David Goulet [Mon, 16 Sep 2013 18:01:06 +0000 (14:01 -0400)] 
Fix: return -errno value on error in run_as mkdir

Signed-off-by: David Goulet <dgoulet@ev0ke.net>
11 years agoSend indexes in streaming mode
Julien Desfossez [Mon, 19 Aug 2013 15:35:43 +0000 (11:35 -0400)] 
Send indexes in streaming mode

To write an index on disk, we need to know all the fields sent by the
RELAY_SEND_INDEX command as well as the offset of the data in the
tracefile.

Since the control and data connection are not synchronized, this process
happens in two separate steps synchronized by an HT indexed by the
index_handle and the net_seq_num.

When we receive data and when we receive an index, we lookup in the HT
if an entry already exists. If it does, it means that we only need to
fill the fields we just received and write the index on disk, otherwise,
we allocate a new index, set the fields we know and store it in the HT.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoHT support for keys with two uint64_t
Julien Desfossez [Mon, 19 Aug 2013 15:35:42 +0000 (11:35 -0400)] 
HT support for keys with two uint64_t

Add the support in the hashtable abstraction layer to handle a key
composed of a two uint64_t.

The hash function is a simple XOR between the two hashes and the compare
function resolves the eventual collisions by comparing the two values.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoLive timer set up
Julien Desfossez [Sun, 28 Jul 2013 22:03:47 +0000 (18:03 -0400)] 
Live timer set up

Add a new option to create to enable the live_timer being --live at
session creation. A new API call is added also to create as session in
live mode like the snapshot feature.

This timer is responsible to check all streams of a live session and
make sure the viewer receives periodic updates even for low-throughput
channels.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoBump version to 2.4.0-pre1
Julien Desfossez [Mon, 5 Aug 2013 19:48:15 +0000 (15:48 -0400)] 
Bump version to 2.4.0-pre1

We need to bump the version early in the development cycle since we
extend the relayd protocol.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoGenerate local kernel and UST indexes
Julien Desfossez [Thu, 8 Aug 2013 20:54:48 +0000 (16:54 -0400)] 
Generate local kernel and UST indexes

When the consumer creates a new trace file, it now creates as well an
index file that the viewers can use to navigate in the trace.  For now
these indexes are only local and not sent to the relayd.

This patch requires additionnal ioctl and ustctl calls implemented in
lttng-modules and lttng-ust in 2.4.

For now, no indexes are sent over the network and no indexes are
generated on snaphots.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd support for non unique add string in hashtable
Julien Desfossez [Wed, 28 Aug 2013 18:03:16 +0000 (14:03 -0400)] 
Add support for non unique add string in hashtable

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix typo in lttng snapshot add-output example of lttng(1)
Christian Babeux [Wed, 25 Sep 2013 14:06:05 +0000 (10:06 -0400)] 
Fix typo in lttng snapshot add-output example of lttng(1)

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
This page took 0.051002 seconds and 4 git commands to generate.