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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.