deliverable/lttng-tools.git
11 years agoAdd --with-lttng-ust-prefix config option.
Stefan Seefeld [Sat, 11 May 2013 12:50:36 +0000 (08:50 -0400)] 
Add --with-lttng-ust-prefix config option.

Signed-off-by: Stefan Seefeld <stefan@codesourcery.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: check channel subbuf size against page size
David Goulet [Fri, 10 May 2013 17:27:30 +0000 (13:27 -0400)] 
Fix: check channel subbuf size against page size

Don't validate channel subbuffer size against the default values but
rather against the lower bound being the page size taken at runtime.

Reported-by: Tan Dung Le Tran <tan.dung.le.tran@ericsson.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: print an error if tracefile-size is missing with count
David Goulet [Thu, 9 May 2013 15:54:20 +0000 (11:54 -0400)] 
Fix: print an error if tracefile-size is missing with count

The command will also stop and inform the user that an option is
missing.

Reported-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoUpdate version to v2.2.0-rc2
David Goulet [Thu, 9 May 2013 14:05:44 +0000 (10:05 -0400)] 
Update version to v2.2.0-rc2

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: split UST per UID/PID default values
David Goulet [Tue, 7 May 2013 15:54:41 +0000 (11:54 -0400)] 
Fix: split UST per UID/PID default values

The default per UID subbuffer size are changed from 4096 bytes to 131072
bytes (128k). The rest have the same values as before.

Some DEFAULT_CHANNEL_* macros are prefixed with an underscore making
sure they are not used elsewhere in the code base and only domain
specific values are used.

Fixes #524

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: don't start the relayd with a wrong --output dir
David Goulet [Mon, 6 May 2013 18:41:17 +0000 (14:41 -0400)] 
Fix: don't start the relayd with a wrong --output dir

The -o, --output option never supported a relative path but still the
relayd was able to start.

This makes sure the relayd does not start without an absolute pathname.
The help and man are also updated to document this behavior.

Ticket #523 has been opened as a feature request to support relative
path.

Fixes #481

Acked-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Erroneous automatic session name when streaming
David Goulet [Mon, 6 May 2013 16:34:57 +0000 (12:34 -0400)] 
Fix: Erroneous automatic session name when streaming

Fixes #460

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: wrong data port when listing session's URI
David Goulet [Mon, 6 May 2013 16:06:52 +0000 (12:06 -0400)] 
Fix: wrong data port when listing session's URI

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: don't create a channel on an enable channel
David Goulet [Mon, 6 May 2013 15:53:02 +0000 (11:53 -0400)] 
Fix: don't create a channel on an enable channel

Fixes #465

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Add missing test_utils_parse_size_suffix to unit tests
Christian Babeux [Mon, 6 May 2013 15:32:07 +0000 (11:32 -0400)] 
Tests: Add missing test_utils_parse_size_suffix to unit tests

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: print lttng strerror on enable event with filter
David Goulet [Mon, 6 May 2013 15:31:49 +0000 (11:31 -0400)] 
Fix: print lttng strerror on enable event with filter

Fixes #516

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: change relayd protocol version to 2.2
David Goulet [Mon, 6 May 2013 15:21:27 +0000 (11:21 -0400)] 
Fix: change relayd protocol version to 2.2

Without the 2.2 protocol, the tracefile size/count can't be used for
network streaming. This should have been done at the rc1 release.

Acked-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: reset current size for tracefile rotation
David Goulet [Mon, 6 May 2013 15:04:21 +0000 (11:04 -0400)] 
Fix: reset current size for tracefile rotation

Fixes #514

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: remove extra -I for python bindings
David Goulet [Fri, 3 May 2013 15:16:32 +0000 (11:16 -0400)] 
Fix: remove extra -I for python bindings

Fixes #517

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agolttng UI: round up trace file size to subbuf size if needed
Mathieu Desnoyers [Thu, 2 May 2013 17:48:48 +0000 (13:48 -0400)] 
lttng UI: round up trace file size to subbuf size if needed

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix lttng UI: fix arg parsing, round size to next power of two
Mathieu Desnoyers [Thu, 2 May 2013 15:58:37 +0000 (11:58 -0400)] 
Fix lttng UI: fix arg parsing, round size to next power of two

Also:
- don't accept negative values,
- don't accept 0 values where it's not allowed,
- fix tracefile size option: it was parsing the previous argument.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: check errors in lttng command argument values
Mathieu Desnoyers [Thu, 2 May 2013 15:53:08 +0000 (11:53 -0400)] 
Fix: check errors in lttng command argument values

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoImplement get_count_order in lttng utils
Mathieu Desnoyers [Thu, 2 May 2013 15:33:46 +0000 (11:33 -0400)] 
Implement get_count_order in lttng utils

Imported from Userspace RCU rculfhash.c.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agolttng cli: Accept human readable sizes for --subbuf-size
Simon Marchi [Fri, 12 Apr 2013 21:15:12 +0000 (17:15 -0400)] 
lttng cli: Accept human readable sizes for --subbuf-size

--subbuf-size accepts sizes such as:

- 123 -> 123
- 123k -> 123 * 1024
- 123M -> 123 * 1024^2
- 123G -> 123 * 1024^3

It uses the new parse_size_suffix function, which could probably be used
at other places, such as tracefile size.

Unit tests are included.

Reviewed-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoUnit tests: don't rebuild units under test
Simon Marchi [Mon, 8 Apr 2013 15:20:04 +0000 (11:20 -0400)] 
Unit tests: don't rebuild units under test

Only the tests themselves are built in the unit test folder. They reuse
the object files that are already built during the main compilation
pass. This would fix the conflicts between object names.

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: consumerd metadata channel/cache/timer races
Mathieu Desnoyers [Wed, 1 May 2013 20:52:59 +0000 (16:52 -0400)] 
Fix: consumerd metadata channel/cache/timer races

There were various races with the way metadata was handled for UST. Fix
this by:

- Ensuring that metadata cache is destroyed only when the metadata
  channel is destroyed (it is already protected by refcounting).
- Ensuring that close_metadata() command (issued by sessiond) just
  closes the stream wakeup_fd, and let the metadata management thread
  (which has ownership of the metadata stream) perform the teardown.
- Ensure that switch timer, for metadata, is always stopped before any
  of the metadata stream or channel teardown is done.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: consumerd channel destroy race
Mathieu Desnoyers [Wed, 1 May 2013 20:50:55 +0000 (16:50 -0400)] 
Fix: consumerd channel destroy race

The LTTNG_CONSUMER_DESTROY_CHANNEL command is used to handle errors. It
should not call destroy_channel(), because at that point the channel
management thread has ownership of the channel. Send a notification to
the channel management thread asking it to destroy the channel instead.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: document RCU read-side lock better
Mathieu Desnoyers [Wed, 1 May 2013 20:46:41 +0000 (16:46 -0400)] 
Cleanup: document RCU read-side lock better

Eventually we will have to move rcu read-side lock within the callees,
but let's at least make the current code consistent.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoconsumer relayd interaction: fix segfaults
Mathieu Desnoyers [Wed, 1 May 2013 20:43:37 +0000 (16:43 -0400)] 
consumer relayd interaction: fix segfaults

State where control socket is unset but data socket is set for a relayd
socket pair can be reached if relayd suddently disconnects at the wrong
time. Ensure we always verify that the file descriptors and operations
are initialized before using them.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: change order of fd get to fix error path
David Goulet [Tue, 30 Apr 2013 19:32:31 +0000 (15:32 -0400)] 
Fix: change order of fd get to fix error path

Last commit had a wrong error path that could lead to an unbalanced fd
put/get.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: fd leak when creating UST metadata channel
David Goulet [Tue, 30 Apr 2013 19:23:56 +0000 (15:23 -0400)] 
Fix: fd leak when creating UST metadata channel

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: fd leak on error
Mathieu Desnoyers [Tue, 30 Apr 2013 14:26:11 +0000 (10:26 -0400)] 
Fix: fd leak on error

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix consumerd fd leak
Mathieu Desnoyers [Tue, 30 Apr 2013 14:25:21 +0000 (10:25 -0400)] 
Fix consumerd fd leak

Refcount is only incremented and owned by thread management for streams,
not metadata.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix RCU-related hangs: incorrect lttng_ht_destroy use
Mathieu Desnoyers [Tue, 30 Apr 2013 03:03:44 +0000 (23:03 -0400)] 
Fix RCU-related hangs: incorrect lttng_ht_destroy use

lttng_ht_destroy() should *NOT* be called with rcu_read_lock() held. It
can cause hangs.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agorculfhash: check for callers from RCU read-side C.S.
Mathieu Desnoyers [Tue, 30 Apr 2013 01:38:32 +0000 (21:38 -0400)] 
rculfhash: check for callers from RCU read-side C.S.

This is an error.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: don't call hash table destroy under rcu read-side c.s.
Mathieu Desnoyers [Tue, 30 Apr 2013 01:25:39 +0000 (21:25 -0400)] 
Fix: don't call hash table destroy under rcu read-side c.s.

Fix
src/bin/lttng-sessiond/ust-registry.c:ust_registry_channel_del_free().

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoDocumentation: import updated comments from urcu
Mathieu Desnoyers [Tue, 30 Apr 2013 00:58:49 +0000 (20:58 -0400)] 
Documentation: import updated comments from urcu

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: segfault in buffer_reg_channel_destroy()
Mathieu Desnoyers [Mon, 29 Apr 2013 21:13:56 +0000 (17:13 -0400)] 
Fix: segfault in buffer_reg_channel_destroy()

Can be called with NULL pointer, which trigger segfault on ERR() which
try to dereference it.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: add missing goto error in UST consumer
David Goulet [Mon, 29 Apr 2013 21:58:51 +0000 (17:58 -0400)] 
Fix: add missing goto error in UST consumer

On error, a channel set to NULL can be used causing a segfault when
receiving the metadata.

Reported-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: no need to use run_as_open in the relayd
David Goulet [Mon, 29 Apr 2013 17:08:36 +0000 (13:08 -0400)] 
Fix: no need to use run_as_open in the relayd

The utils create stream file function is changed to handle uid and gid
set to -1 meaning that it now does not use the run_as_open() call which
is costly in performance and will instead use open().

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: typo in enable-channel man and help
David Goulet [Mon, 29 Apr 2013 16:58:19 +0000 (12:58 -0400)] 
Fix: typo in enable-channel man and help

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: add some missing hidden attribute
David Goulet [Mon, 29 Apr 2013 16:54:48 +0000 (12:54 -0400)] 
Fix: add some missing hidden attribute

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: per-uid buffers should only be flushed once on stop
Mathieu Desnoyers [Mon, 29 Apr 2013 16:50:06 +0000 (12:50 -0400)] 
Fix: per-uid buffers should only be flushed once on stop

They were flushed once per application previously, causing workload with many
applications to trigger too many flush on stop, which in turn caused buffer
padding bloat.

* The pseudo-code for stop behavior on per-uid buffers was:

flush session's buffers
for each application:
  - stop tracing
  - wait quiescent
  - flush buffers
  - push metadata

Now doing, for per-uid buffers:

for each application:
  - stop tracing
  - wait quiescent
  - push metadata
flush session's buffers

* And for per-pid buffers:

Previously:

for each application:
  - stop tracing
  - wait quiescent
  - flush buffers
  - push metadata

Now:

for each application:
  - stop tracing
  - wait quiescent
  - push metadata
for each application:
  - flush buffers

Fixes #497

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoCleanup: Use own mutex within timer setup/teardown
Mathieu Desnoyers [Fri, 26 Apr 2013 15:02:54 +0000 (11:02 -0400)] 
Cleanup: Use own mutex within timer setup/teardown

More robust than relying on single-caller-thread assumptions.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: channel management thread should hold a refcount
Mathieu Desnoyers [Fri, 26 Apr 2013 14:27:51 +0000 (10:27 -0400)] 
Fix: channel management thread should hold a refcount

In order to handle teardown caused by relayd being unresponsive, we need
to ensure that we correctly handle that the streams can be cleaned up
before the channel wakeup pipe gets closed. We achieve this by making
the channel management thread hold a refcount on the channel object, so
it only gets destroyed when all streams, _and_ the channel management
thread, have released their reference.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: move metadata cache setup before ownership passing
Mathieu Desnoyers [Fri, 26 Apr 2013 14:24:14 +0000 (10:24 -0400)] 
Fix: move metadata cache setup before ownership passing

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: consumer metadata switch timer error handling
Mathieu Desnoyers [Thu, 25 Apr 2013 18:45:17 +0000 (14:45 -0400)] 
Fix: consumer metadata switch timer error handling

The thread handling the metadata switch cannot call
consumer_timer_switch_stop(), because it would become stucked waiting
for itself to execute the teardown signal handler.

Moreover, only one thread is allowed to call start/stop timer (by
design). Therefore, it's a race to have the thread handling the timer
handler calling "stop".

Fix this by adding a "switch_timer_error" flag, which just inhibits the
timer if an error is encountered, but does not modify its state
otherwise.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: set ptr to NULL to suppress old gcc warnings
David Goulet [Mon, 22 Apr 2013 19:04:37 +0000 (15:04 -0400)] 
Fix: set ptr to NULL to suppress old gcc warnings

This has been seen with gcc 4.4.5 on a 32 bit machine.

consumer.c: In function ‘consumer_add_relayd_socket’:
consumer.c:3002: warning: ‘relayd’ may be used uninitialized in this
function

However, the relayd pointer can not be used uninitialized so this patch
suppresses the warning.

Reported-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: linking order of libraries
David Goulet [Mon, 22 Apr 2013 18:54:25 +0000 (14:54 -0400)] 
Fix: linking order of libraries

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: multiple type mismatch in debug statement
David Goulet [Mon, 22 Apr 2013 17:32:47 +0000 (13:32 -0400)] 
Fix: multiple type mismatch in debug statement

This removes all the type mismatch warnings for x86 architecture.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: remove mention of trace directory layout in quickstart doc
David Goulet [Fri, 19 Apr 2013 16:15:51 +0000 (12:15 -0400)] 
Fix: remove mention of trace directory layout in quickstart doc

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: remove unused path variables from session obj
David Goulet [Fri, 12 Apr 2013 15:13:42 +0000 (11:13 -0400)] 
Fix: remove unused path variables from session obj

Furthermore, this patch also removes useless '/' in the stream path
which was creating duplicates in the trace file path.

Fixes #496

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: update lttng.1 man and enable-channel help with read timer size
David Goulet [Fri, 12 Apr 2013 14:27:59 +0000 (10:27 -0400)] 
Fix: update lttng.1 man and enable-channel help with read timer size

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: use channel per domain default values
David Goulet [Fri, 12 Apr 2013 14:21:51 +0000 (10:21 -0400)] 
Fix: use channel per domain default values

This is related to bug497 but does not fix it. Using the command line and the
lttng_channel_set_default_attr() API call, the default read and switch timer
were not correct for UST and Kernel domain since we now use specific default
values for each of them.

Reported-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: typos in the code base
David Goulet [Thu, 11 Apr 2013 20:40:46 +0000 (16:40 -0400)] 
Fix: typos in the code base

Fixes #488

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: deny multiple event types with enable-event
David Goulet [Thu, 11 Apr 2013 20:25:50 +0000 (16:25 -0400)] 
Fix: deny multiple event types with enable-event

Fixes #444

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: deny the same port for data and control URL
David Goulet [Thu, 11 Apr 2013 20:01:20 +0000 (16:01 -0400)] 
Fix: deny the same port for data and control URL

This also adds the LTTNG_ERR_NOMEM code and fix a double lttng strerror
print in the lttng create command code.

Fixes #451

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: reset consumer destination when changing URIs
David Goulet [Thu, 11 Apr 2013 19:24:01 +0000 (15:24 -0400)] 
Fix: reset consumer destination when changing URIs

Using -C and -D with lttng create, the session if first created with the
default file path and then changed to the relayd URIs.

The destination object was not reset which was causing a corruption to
the state of the consumer object.

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: don't allow different control and data destination
David Goulet [Thu, 11 Apr 2013 19:00:45 +0000 (15:00 -0400)] 
Fix: don't allow different control and data destination

The lttng create command does not allow anymore different destination
when using -C and -D.

Fixes #455

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: typos in error strings
Simarpreet Singh [Tue, 9 Apr 2013 19:41:35 +0000 (15:41 -0400)] 
Fix: typos in error strings

Fixes #453

Signed-off-by: Simarpreet Singh <simarpreet007@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoImprove channel listing output format
David Goulet [Thu, 11 Apr 2013 18:30:46 +0000 (14:30 -0400)] 
Improve channel listing output format

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: enable-channel accepts mismatched option
David Goulet [Thu, 11 Apr 2013 18:19:55 +0000 (14:19 -0400)] 
Fix: enable-channel accepts mismatched option

Also fixes a small typo in an error message of enable-channel. This
commit adds the buffer type for the UST domain with lttng list.

Fixes #489

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: validate buffer type for UST channel creation
David Goulet [Thu, 11 Apr 2013 18:04:17 +0000 (14:04 -0400)] 
Fix: validate buffer type for UST channel creation

Fixes #499

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoUpdate version to v2.2.0-rc1
David Goulet [Thu, 28 Mar 2013 20:32:03 +0000 (16:32 -0400)] 
Update version to v2.2.0-rc1

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Add missing header for make dist
David Goulet [Thu, 28 Mar 2013 20:21:00 +0000 (16:21 -0400)] 
Fix: Add missing header for make dist

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: add missing declaration for disable-lttng-ust
David Goulet [Thu, 28 Mar 2013 20:06:02 +0000 (16:06 -0400)] 
Fix: add missing declaration for disable-lttng-ust

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: don't keep vpid, procname, nor patchlevel environment for per-uid buffers
Mathieu Desnoyers [Thu, 28 Mar 2013 19:54:12 +0000 (15:54 -0400)] 
Fix: don't keep vpid, procname, nor patchlevel environment for per-uid buffers

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoRelayd add_stream command handle tracefile rotation
Julien Desfossez [Thu, 28 Mar 2013 17:25:08 +0000 (13:25 -0400)] 
Relayd add_stream command handle tracefile rotation

Extend the relayd_add_stream structure to pass the tracefile_size and
tracefile_count parameters required to handle the tracefile rotation.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoMove stream file rotation functions to utils
Julien Desfossez [Thu, 28 Mar 2013 15:48:02 +0000 (11:48 -0400)] 
Move stream file rotation functions to utils

These functions are now in libcommon which can be used by the relayd and
consumer.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoIntroduce the relayd socket object
Julien Desfossez [Thu, 28 Mar 2013 04:09:48 +0000 (00:09 -0400)] 
Introduce the relayd socket object

Used to store the version that the relayd socket supports so we can
adapt the communication to the lowest version between the session daemon
and relayd.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdjust the relayd protocol on version check
Julien Desfossez [Wed, 27 Mar 2013 17:59:08 +0000 (13:59 -0400)] 
Adjust the relayd protocol on version check

If the relayd and sessiond are compatible (same major number), we store
in the session the protocol version to use for the rest of the
communication (the lowest minor number).

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
11 years agoOn-disk multiple tracefiles circular buffer
Julien Desfossez [Wed, 27 Mar 2013 17:27:55 +0000 (13:27 -0400)] 
On-disk multiple tracefiles circular buffer

This patch introduces the tracefile_size and tracefile_count parameters
to the enable-channel command and the API.

This allows to split a stream into multiple tracefiles and limit the
amount of trace data to keep on disk. The tracefiles are readable
independently or with the others as long as the metadata file is
present.

For now only local traces are handled, relayd modifications coming soon.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agotests: implement context filtering tests
Mathieu Desnoyers [Wed, 27 Mar 2013 19:28:01 +0000 (15:28 -0400)] 
tests: implement context filtering tests

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoDocumentation: filter $ctx manpage and --help
Mathieu Desnoyers [Wed, 27 Mar 2013 16:10:44 +0000 (12:10 -0400)] 
Documentation: filter $ctx manpage and --help

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoImplement per-context filtering
Mathieu Desnoyers [Tue, 26 Mar 2013 02:33:57 +0000 (22:33 -0400)] 
Implement per-context filtering

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoTests: Add periodical flush fast regression test
David Goulet [Wed, 27 Mar 2013 16:25:35 +0000 (12:25 -0400)] 
Tests: Add periodical flush fast regression test

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoUST periodical metadata flush
Julien Desfossez [Tue, 26 Mar 2013 02:27:05 +0000 (22:27 -0400)] 
UST periodical metadata flush

Add a socket between the sessiond and the ust-consumer to allow
periodical flush of the metadata channel.

If enabled (by specifying the --switch-timer option on the metadata
channel), a new timer thread in the consumer asks the session daemon for
new metadata for a specific session.

All the metadata collected is written into a metadata cache in the
consumer, this mechanism is useful for synchronisation (to avoid race
conditions between two metadata updates) and will also be useful when we
implement the snapshots.

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Fix nprocesses applications shutdown
David Goulet [Wed, 27 Mar 2013 14:21:54 +0000 (10:21 -0400)] 
Tests: Fix nprocesses applications shutdown

The nprocesses test is using the SIGPIPE signal to shutdown the spawned
child applications. This is done in order to silence the shell message
such as this one:

"nprocesses/test_nprocesses: line 79: 26458 Terminated"

This mechanism is broken on systems where the SIGPIPE default handler is
overriden (thus no application shutdown occurs) in the executing
environment. This could lead to stale applications polluting the system
and causing heratic behavior in subsequent tests.

This commit add a loop and check that all the spawned applications have
been successfully killed.

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Add test scripts and lists to the distribution package
Jérémie Galarneau [Wed, 27 Mar 2013 05:38:35 +0000 (01:38 -0400)] 
Fix: Add test scripts and lists to the distribution package

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: Run tests requiring the python bindings only when they are enabled
Jérémie Galarneau [Wed, 27 Mar 2013 03:23:03 +0000 (23:23 -0400)] 
Fix: Run tests requiring the python bindings only when they are enabled

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd optional Python >= 3.0 dependency to README
Jérémie Galarneau [Tue, 26 Mar 2013 00:28:36 +0000 (20:28 -0400)] 
Add optional Python >= 3.0 dependency to README

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Add "libc-wrapper" ust regression test
Jérémie Galarneau [Tue, 26 Mar 2013 00:28:35 +0000 (20:28 -0400)] 
Tests: Add "libc-wrapper" ust regression test

Based on the "test-libustinstr-malloc" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Add "fork" ust regression test
Jérémie Galarneau [Tue, 26 Mar 2013 00:28:34 +0000 (20:28 -0400)] 
Tests: Add "fork" ust regression test

Based on the "fork" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Add "exit-fast" ust regression test
Jérémie Galarneau [Tue, 26 Mar 2013 00:28:33 +0000 (20:28 -0400)] 
Tests: Add "exit-fast" ust regression test

Based on the "exit-fast" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Add "daemon" ust regression test
Jérémie Galarneau [Tue, 26 Mar 2013 00:28:32 +0000 (20:28 -0400)] 
Tests: Add "daemon" ust regression test

Based on the "daemon" test formerly part of lttng-ust.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Add "linking" ust regression test
Jérémie Galarneau [Tue, 26 Mar 2013 00:28:31 +0000 (20:28 -0400)] 
Tests: Add "linking" ust regression test

Based on the "demo" test formerly part of lttng-ust. Tests userspace
tracing with directly, statically and dynamically linked providers. Also
meant as an exemple of building and tracing an application with all
types of provider linking.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Add Python test_utils module
Jérémie Galarneau [Tue, 26 Mar 2013 00:28:30 +0000 (20:28 -0400)] 
Tests: Add Python test_utils module

Basic Python test framework based on the lttng-tools Python bindings
that facilitates the creation of a tracing session saving its trace in
a temporary location, the activation of events in the UST domain and
clean teardown of the test session.

Also provides basic TAP output facilities.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: UST context activation
Mathieu Desnoyers [Tue, 26 Mar 2013 02:35:46 +0000 (22:35 -0400)] 
Fix: UST context activation

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: lttng create default name check
David Goulet [Mon, 25 Mar 2013 20:30:12 +0000 (16:30 -0400)] 
Fix: lttng create default name check

Fixes #449

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: add missing error output
David Goulet [Mon, 25 Mar 2013 20:15:37 +0000 (16:15 -0400)] 
Fix: add missing error output

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: minor errors in lttng.1 man page
David Goulet [Mon, 25 Mar 2013 19:58:38 +0000 (15:58 -0400)] 
Fix: minor errors in lttng.1 man page

Fixes #448

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: kernel function event was listed as probe
David Goulet [Mon, 25 Mar 2013 19:30:08 +0000 (15:30 -0400)] 
Fix: kernel function event was listed as probe

Fixes #442

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd unsupported error code to lttng cmd line
David Goulet [Mon, 25 Mar 2013 19:07:30 +0000 (15:07 -0400)] 
Add unsupported error code to lttng cmd line

Fixes #438

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: typo in the create command help and man page
David Goulet [Mon, 25 Mar 2013 18:44:41 +0000 (14:44 -0400)] 
Fix: typo in the create command help and man page

Fixes #436

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: session name max length was not handled correctly
David Goulet [Mon, 25 Mar 2013 18:41:22 +0000 (14:41 -0400)] 
Fix: session name max length was not handled correctly

Fixes #435

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: lttng UI failed to report error 19
David Goulet [Mon, 25 Mar 2013 17:31:51 +0000 (13:31 -0400)] 
Fix: lttng UI failed to report error 19

Fixes #437

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoFix: validate expanded path NULL ptr in relayd
David Goulet [Mon, 25 Mar 2013 15:03:12 +0000 (11:03 -0400)] 
Fix: validate expanded path NULL ptr in relayd

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd missing files for make dist
David Goulet [Mon, 25 Mar 2013 14:36:37 +0000 (10:36 -0400)] 
Add missing files for make dist

Fixes #480

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd optional Perl dependency requirement to README
Christian Babeux [Fri, 22 Mar 2013 19:49:19 +0000 (15:49 -0400)] 
Add optional Perl dependency requirement to README

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: remove unused run script
David Goulet [Mon, 25 Mar 2013 14:16:01 +0000 (10:16 -0400)] 
Tests: remove unused run script

Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoAdd missing buffers-uid folder in test Makefile
Jérémie Galarneau [Mon, 25 Mar 2013 14:13:26 +0000 (10:13 -0400)] 
Add missing buffers-uid folder in test Makefile

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Do not exit when a failure occurs in test_buffers_uid
Christian Babeux [Thu, 21 Mar 2013 19:56:47 +0000 (15:56 -0400)] 
Tests: Do not exit when a failure occurs in test_buffers_uid

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Cleanup tests runner that are no longer required
Christian Babeux [Thu, 21 Mar 2013 19:56:46 +0000 (15:56 -0400)] 
Tests: Cleanup tests runner that are no longer required

Test runners have been superseeded by testlists and the prove utility.

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Use Perl prove as the testsuite runner
Christian Babeux [Thu, 21 Mar 2013 19:56:45 +0000 (15:56 -0400)] 
Tests: Use Perl prove as the testsuite runner

Currently the regression and unit testsuites are runned via a custom
runner script. By using the Perl prove utility, we can run the
testsuites and also gain additionnal features such as: parallel jobs,
separate testlists, etc.

This commit modify the make check target to run Perl prove as the
testsuite runner.

Testlist:

tests/unit_tests      : unit tests.
tests/fast_regression : a fast regression testsuite.
tests/long_regression : a long regression testsuite (includes slow tests such
                        as test_low_throughput and others).
tests/root_regression : a testsuite for tests that need root access
        (mostly tests using lttng-modules and bandwith limits).

Running a testsuite:

$ cd lttng-tools/tests
$ ./run.sh <testsuite>

One can also run tests manually using prove:

$ prove --exec '' path/to/test

  OR

$ prove --exec '' - < testlist

Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
11 years agoTests: Fix first line of output to follow TAP guidelines
Christian Babeux [Thu, 21 Mar 2013 19:56:44 +0000 (15:56 -0400)] 
Tests: Fix first line of output to follow TAP guidelines

From the Test::Harness::TAP documentation [1]:

The plan tells how many tests will be run, or how many tests have
run.  It's a check that the test file hasn't stopped prematurely.
It must appear once, whether at the beginning or end of the output.

The TAP plan *must* be the first line of output of any tests. Currently,
most of the tests output their description and then the TAP plan. This
can cause issues while parsing the test output for "strict" TAP parser
such as the one used in the prove tool.

This commit ensure that the first line outputted by any tests is the TAP
plan.

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