David Goulet [Thu, 21 Mar 2013 19:21:56 +0000 (15:21 -0400)]
Fix: handle error if metadata fails to be created
Reported-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 21 Mar 2013 18:27:16 +0000 (14:27 -0400)]
Allow enable-channel to work with metadata channel
This makes the enable-channel command to support setting the metadata
channel attributes. Now, with the lttng UI and API, the metadata
attributes can be set.
$ lttng enable-channel metadata -u ...
Signed-off-by: David Goulet <dgoulet@efficios.com>
Simon Marchi [Thu, 28 Feb 2013 23:42:17 +0000 (18:42 -0500)]
Add with-sessiond-bin configure option
I also cleaned up the little check_sessiond function. The check using
access(2) was only done for the command line option, but I think it is a
good idea to do it wherever the path comes from.
Closes #441
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Thu, 28 Feb 2013 20:48:30 +0000 (15:48 -0500)]
Fix: Use after free on spawn_sessiond error path in check_sessiond
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Thu, 28 Feb 2013 20:48:29 +0000 (15:48 -0500)]
Fix: Memory leak when zmalloc fail on kernel channel allocation
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Thu, 28 Feb 2013 20:48:28 +0000 (15:48 -0500)]
Fix: Memory leaks when calling get_cmdline_by_pid
Callers of get_cmdline_by_pid must free(3) the returned string.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Thu, 28 Feb 2013 20:48:27 +0000 (15:48 -0500)]
Fix: Memory leaks on unknown hashtable type error handling
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Thu, 28 Feb 2013 20:48:26 +0000 (15:48 -0500)]
Fix: Memory leaks on error paths when exporting consumerd libdir in env
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Thu, 28 Feb 2013 20:48:25 +0000 (15:48 -0500)]
Fix: Memory leaks on error paths in config_read_session_name
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Thu, 28 Feb 2013 20:48:24 +0000 (15:48 -0500)]
Fix: Memory leak on error paths of relay_add_stream
On error paths the memory allocated for stream is never freed.
Also, fix undefined behavior on asprintf alloc failure. According to
asprintf(3), the content of the pointer passed to it is undefined if an
alloc failure occurs, so we could end up freeing a pointer in an
undefined state. Force its value to NULL.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 21 Mar 2013 17:12:23 +0000 (13:12 -0400)]
Fix: wrong header path when compiling without UST support
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 7 Mar 2013 20:39:10 +0000 (15:39 -0500)]
Support per UID buffers
This is a rather large commit. It adds the support for per UID buffers
for the user space tracer.
The --buffers-uid option is added to the lttng enable-channel command
which will set the session to use per UID buffers. So, all other channel
in that session MUST be set with the same buffer type or else an error
will be returned. For instance, here is an invalid use case:
$ lttng create
$ lttng enable-channel -u --buffers-uid chan1
$ lttng enable-channel -u chan2
The default is per PID (--buffers-pid). With no buffer type option, the
per PID is used for the UST tracer and global buffers for the kernel
being the only supported type for it (--buffers-global).
The tracing directory path are also changed to support this. For per UID
buffers, the path is now:
~/lttng-traces/ust/uid/1000/64-bit/*
For per PID buffers:
~/lttng-traces/<session_name>-<date>-<time>/ust/pid/ \
<app-name>-<pid>-<date>-<time>/
So basically, for UID, traces are stored per UID/ABI and for PID is
simply stored with the app name and pid. The kernel traces are untouched
and are still in kernel/.
Tests are also added for per UID buffers.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 7 Mar 2013 17:05:35 +0000 (12:05 -0500)]
Move ust channel registry inside session registry
This is more logical with the way we do locking where a channel can not
exist without a session so accessing a channel implies the session lock.
Also, this patch makes the session registry a pointer that we allocate
and free on destroy.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 21 Mar 2013 14:20:47 +0000 (10:20 -0400)]
Fix: function definition and declaration mismatch
Fixes #476
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 11 Mar 2013 17:19:28 +0000 (13:19 -0400)]
Fix: remove uri switch test from cbab merge commit
Also add a file to .gitignore.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 11 Mar 2013 17:00:33 +0000 (13:00 -0400)]
Merge remote-tracking branch 'cbab-github/tests-cleanup' into cbab
Conflicts:
tests/regression/tools/streaming/test_high_throughput_limits
tests/unit/test_kernel_data.c
tests/unit/test_ust_data.c
Jérémie Galarneau [Sat, 16 Feb 2013 01:46:45 +0000 (20:46 -0500)]
Fix: mark generated python bindings files as nodist
make dist would fail if ./configure had not been invoked with
the --enable-python-bindings switch.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 11 Mar 2013 14:51:03 +0000 (10:51 -0400)]
Fix: change default channel values in unit test
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Mon, 11 Mar 2013 14:09:44 +0000 (10:09 -0400)]
Fix: default read timer values
Kernel read timer value should be 200ms (200000us), not 200us.
UST default read timer value should be 0 (use write() system call from
applications).
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Sat, 9 Mar 2013 16:58:42 +0000 (11:58 -0500)]
Implement channel fd monitoring thread for UST
This new thread uses a new hash table containing channels and monitors
their wait_fd. On hang up, the channel streams are closed but *not*
deleted so the teardown process of channel and streams are untouched.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Wed, 6 Mar 2013 21:12:57 +0000 (16:12 -0500)]
Add channel wakeup fd to monitor close
Add channel wakeup fd, so consumer can keep its handle on the stream
wakeup_fd (for periodic timer flush), and yet still discover that an
application has closed a channel or exited.
Requires to be updated in locked-step with lttng-ust
"Add channel wakeup fd to monitor close"
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 1 Mar 2013 17:58:08 +0000 (12:58 -0500)]
Fix: remove enable consumer from test
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 26 Feb 2013 17:46:09 +0000 (12:46 -0500)]
Move metadata creation into lttng-sessiond and lttng-consumed
The metadata is completely generated in the session daemon and pushed to
the consumer which writes the full string to a ustctl channel object. On
each event/channel notification from the tracer, the metadata is
generated on the spot and kept in the UST registry of the session
daemon.
On stop and destroy command, the metadata is pushed to the consumer. On
application unregistration as well, the metadata is handled.
Needs to be use in locked-step with LTTng-UST:
"Move metadata creation into lttng-sessiond and lttng-consumed"
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 19 Feb 2013 20:17:09 +0000 (15:17 -0500)]
Move UST registry into sessiond and implement notifiers
Notify now comes from the UST tracer to register event in a new registry
in the session daemon storing UST channel and events. This registry is
used to send back event and channel IDs to the tracer and the session
UUID. It will also be used later on to generate metadata which will
completely remove metadata generation from the application.
This introduces a new thread in the session daemon being the thread
managing application notification using a new socket (notify socket).
This thread is in ust-thread.c/.h and spawned at startup.
Needs to be use in locked-step with LTTng-UST commit:
"Move UST registry into sessiond and implement notifiers"
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 04:32:39 +0000 (23:32 -0500)]
Tests: Add runner script for tests
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 04:29:02 +0000 (23:29 -0500)]
Tests: Add runner script for regression testsuite
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 04:26:52 +0000 (23:26 -0500)]
Tests: Add runner script for tools regression tests
Also remove old the old runner scripts.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 04:19:17 +0000 (23:19 -0500)]
Tests: Convert the tools streaming tests output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 04:17:34 +0000 (23:17 -0500)]
Tests: Convert the tools health tests output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 04:15:25 +0000 (23:15 -0500)]
Tests: Convert the tools filtering tests output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 04:11:53 +0000 (23:11 -0500)]
Tests: Rename the tools tests runners to test_<test name>
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:57:15 +0000 (22:57 -0500)]
Tests: Add runner script for UST regression tests
Also remove the old runners scripts.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:53:40 +0000 (22:53 -0500)]
Tests: Convert the UST overlap test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:48:19 +0000 (22:48 -0500)]
Tests: Convert the UST nprocesses test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:46:23 +0000 (22:46 -0500)]
Tests: Convert the UST multi-session test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:45:42 +0000 (22:45 -0500)]
Tests: Convert the UST low-throughput test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:39:01 +0000 (22:39 -0500)]
Tests: Convert the UST high-throughput test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:38:09 +0000 (22:38 -0500)]
Tests: Convert the UST before-after test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:26:41 +0000 (22:26 -0500)]
Tests: Rename the UST tests runners to test_<test name>
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:10:54 +0000 (22:10 -0500)]
Tests: Convert the ust_global_event_wildcard test to an equivalent shell test
The test_event_wildcard shell script test has the same behavior has the
ust_global_event_wildcard test. In addition, the test output format has been
converted to TAP.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 03:05:12 +0000 (22:05 -0500)]
Tests: Convert the ust_global_event_basic test to an equivalent shell test
The test_event_basic shell script test has the same behavior has the
ust_global_event_basic test. In addition, the test output format has been
converted to TAP.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 02:52:04 +0000 (21:52 -0500)]
Tests: Add runner script for kernel regression tests
Also remove the old runner scripts.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 02:49:14 +0000 (21:49 -0500)]
Tests: Convert the kernel_event_basic test to an equivalent shell test
The test_event_basic shell script test has the same behavior has the
kernel_event_basic test. In addition, the resulting trace produced
by the test is now verified for correctness. Finally, the test output
format has been converted to TAP.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Fri, 22 Feb 2013 02:08:56 +0000 (21:08 -0500)]
Tests: Convert the kernel_all_events_basic test to an equivalent shell test
The test_all_events shell script test has the same behavior has the
kernel_all_events_basic test. In addition, the resulting trace produced
by the test is now verified for correctness. Finally, the test output
format has been converted to TAP.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 22:57:15 +0000 (17:57 -0500)]
Tests: Add runner script for unit tests
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 22:35:25 +0000 (17:35 -0500)]
Tests: Convert the URI unit test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 22:28:09 +0000 (17:28 -0500)]
Tests: Convert the UST data structures unit test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 22:24:27 +0000 (17:24 -0500)]
Tests: Convert the kernel data structures unit test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 22:17:38 +0000 (17:17 -0500)]
Tests: Convert the session unit test output to TAP
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 23:09:57 +0000 (18:09 -0500)]
Tests: Convert functions in utils.sh to output in the TAP format
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 20:14:48 +0000 (15:14 -0500)]
Tests: Add the runner.sh tests runner utility
This script contains the run_tests function to ease the run of a testsuite.
Usage example:
source $TESTDIR/utils/runner.sh
tests=( some_test
some_other_test )
opts=("$@")
run_tests tests[@] opts[@]
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 21:31:16 +0000 (16:31 -0500)]
Tests: Add TAP helpers in tests/utils/tap
tests/utils/tap/tap.{h,c}:
For use in C tests. You can link against libtap with the usual automake
mechanisms.
tests/utils/tap/tap.sh:
For use in shell scripts tests. Source the script
(e.g. source "tests/utils/tap/tap.sh") to use the relevants TAP functions.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 21:29:47 +0000 (16:29 -0500)]
Tests: Move unit tests to tests/unit
The regression/tools/{test_kernel_data_trace,test_sessions,test_ust_data_trace}.c
and regression/tools/streaming/unit_tests.c tests files are really unit tests.
In order to have a clear separation between unit tests and integration/system tests,
move them to their own folder.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Christian Babeux [Thu, 21 Feb 2013 19:20:25 +0000 (14:20 -0500)]
Tests: Move tests to tests/regression
Also move the utils.sh and utils.h helper files under tests/utils.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
David Goulet [Fri, 15 Feb 2013 22:09:09 +0000 (17:09 -0500)]
Deprecate enable/disable-consumer
The concept of consumer should change to the fact that a user can
enable/disable outputs such as file or network for streaming. We
envision that multiple outputs can be attached to a channel in the
future.
We want to minimise the amount of puzzlement for users. Having an error
message from the consumer daemon when --no-consumer has been specified
can be considered puzzling.
This calls for "add output" semantic, so we can support this "tee"
use-case seemlessly. We plan on allowing add/del output while tracing is
active, which is not currently permitted by enable-consumer.
Everything enable-consumer does can be done by lttng create options
Therefore, it seems easier for development of upcoming features and for
the sake of simplicity of interfaces to deprecate the current
enable/disable consumer.
This applies for both to the lttng UI commands and API calls. The
documentation has been removed from the man page and the help of the
lttng command. So, it exists but is simply not documented.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 30 Jan 2013 21:36:23 +0000 (16:36 -0500)]
Move LTTng-UST buffer ownership from application to consumer
Before this change, applications were performing allocation and teardown
of their buffers. Applications therefore had ownership of the buffers.
The shm and wait fd were passed from applications, though sessiond, to
consumerd through unix sockets.
This change moves ownership of buffers from applications to consumer.
This will allow sharing buffers across many processes in a near future.
It will also facilitate implementation of periodical timers on the
consumer side, now that it has ownership of channels and buffers (also
called streams). This imply that file descriptors on shm and wakeup end
of the pipe are now passed from the consumerd to sessiond, then to
applications, through unix sockets. Then, applications "map" channel and
streams into their own memory space. Channel control structure is
actually a copy for each application, while streams are a shared memory
map (shm) between consumerd and all applications that write into it, and
have a wake up file descriptor on the application side.
Dependency on libuuid has been added to lttng-tools, since the UUID is
needed at channel and buffer allocation.
Note that this is only for UST so the kernel buffers are still created
in the session daemon then passed to the consumer. There is basically no
change for the kernel other than adapting to the new communication data
structure.
This commit needs to be used along with commit named "Move LTTng-UST
buffer ownership from application to consumer" in lttng-ust.
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Christian Babeux [Fri, 8 Feb 2013 03:47:04 +0000 (22:47 -0500)]
Fix: Conditionally disable test requiring shared libs
When building lttng-tools with shared library support explicitly
disabled (e.g.: ./configure --disable-shared), libtool fail with a fatal
error:
Making all in demo
CC tp.lo
CC tp2.lo
CC tp3.lo
CC demo.o
CCLD demo
CCLD liblttng-ust-provider-ust-tests-demo.la
CCLD liblttng-ust-provider-ust-tests-demo3.la
libtool: link: can not build a shared library
libtool: link: See the libtool documentation for more information.
libtool: link: Fatal configuration error.
The build should not fail because some tests require explicit shared
library support, instead they should be skipped. This can be
accomplished by detecting builds with no shared libs support with the
NO_SHARED Automake variable.
Signed-off-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 29 Jan 2013 17:26:09 +0000 (12:26 -0500)]
Fix: remove consumer health poll update on startup
With the TLS health state, the consumer thread has to register in order
to be validated during the health check so the poll update work around
is no longer needed andi replaced with a simple code update just after
the health registration of the thread.
This has been reported after the TLS feature ticket #411 has been
implemented.
Fixes #428
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 30 Jan 2013 16:08:54 +0000 (11:08 -0500)]
Fix: change health poll update to entry/exit calls
It adds a better semantic to the code flow. Furthermore, the current
counter of the health state is now validated raising an assert() if the
value is unexepected.
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 29 Jan 2013 17:38:03 +0000 (12:38 -0500)]
Fix: support duplicate health type
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 25 Jan 2013 18:22:13 +0000 (13:22 -0500)]
Clarify README about the GNU gold linker requirement
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 25 Jan 2013 17:12:07 +0000 (12:12 -0500)]
Cleanup: use LTTNG_PACKED in lttng-kernel.h
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 25 Jan 2013 17:11:07 +0000 (12:11 -0500)]
Cleanup: use LTTNG_HIDDEN in src/common
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 25 Jan 2013 17:07:29 +0000 (12:07 -0500)]
Cleanup: use LTTNG_HIDDEN in lttng-ctl filter lib
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Fri, 25 Jan 2013 17:02:06 +0000 (12:02 -0500)]
Add LTTNG_HIDDEN macro for hidden attribute
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Thu, 24 Jan 2013 23:43:48 +0000 (18:43 -0500)]
Symbol prefixing: in-house copy of hash table
Will ensure we don't clash with the real version in liburcu cds. It's
especially important since those symbols are exported globally by
liblttng-ctl.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Thu, 24 Jan 2013 23:34:44 +0000 (18:34 -0500)]
Fix: add missing unistd.h for fdatasync in compat-fcntl.c
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Mathieu Desnoyers [Thu, 24 Jan 2013 23:33:41 +0000 (18:33 -0500)]
Namespace lttngctl filter flex/bison symbols
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 24 Jan 2013 19:29:49 +0000 (14:29 -0500)]
Cleanup unused health state reference
The old health state structure are not used anymore since we now rely on
TLS health state.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Thu, 24 Jan 2013 19:20:23 +0000 (14:20 -0500)]
Fix: health subsystem issues with shared code
TLS memory is not used for health state of each thread. This commit
probably fixes bug428 as well.
The health_init/exit are renamed to health_register/unregister.
Fixes #411
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 23 Jan 2013 18:44:12 +0000 (13:44 -0500)]
Use utils mkdir recursive in runas.c
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 23 Jan 2013 18:38:53 +0000 (13:38 -0500)]
relayd: Create output directory in main()
If specified with -o, --output, the directory is created in the main()
so if an error occurs the execution is stopped.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 23 Jan 2013 17:32:54 +0000 (12:32 -0500)]
Use utils family function in relayd
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 23 Jan 2013 17:25:24 +0000 (12:25 -0500)]
Add mkdir_recursive function to libcommon utils
David Goulet [Tue, 22 Jan 2013 20:28:36 +0000 (15:28 -0500)]
Fix: poll max size should be checked during resize
This was detected using cppcheck:
[src/common/compat/compat-poll.c:204]: (error) Uninitialized variable:
new_size
So, the check was always made over an uninitialized variable on the
stack. Fortunately, worst case scenario, new_size is set to the maximum
allowed or kept untouched.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 20:19:08 +0000 (15:19 -0500)]
Fix: wrong variable type for read() return value
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 20:15:08 +0000 (15:15 -0500)]
cppcheck: don't check NULL pointer before freeing them
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 20:09:23 +0000 (15:09 -0500)]
cppcheck: Simplify empty string test without using strlen()
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 19:57:24 +0000 (14:57 -0500)]
Use default value for metadata file name
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 19:09:21 +0000 (14:09 -0500)]
Remove UST abi cast on channel attribute
This clears out a TODO in the code.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 17:13:13 +0000 (12:13 -0500)]
Fix: add missing rcu lock for UST lookup
Trace UST channel and event were not protected by RCU lock when calling
their find function. Furthermore, the event lookup was not protected at
all during and after the lookup.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 16:52:57 +0000 (11:52 -0500)]
Remove unused variables in trace-kernel/ust.c
In trace-kernel.c, the path is not used anymore on channel creation.
Same goes for trace-ust.c for session creation, the domain pointer is
not used.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 16:50:52 +0000 (11:50 -0500)]
Remove unused kernel session variable in event.c
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 16:38:11 +0000 (11:38 -0500)]
Add safety assert() in session daemon
Note here that a test has been removed which tested the NULL parameter
of the session_destroy() call where now we assert if there is a NULL
pointer. It's a code flow error if a NULL pointer gets to this call so
the test becomes irrelevant.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Tue, 22 Jan 2013 16:40:13 +0000 (11:40 -0500)]
Fix: add missing rcu read side lock
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 20:49:45 +0000 (15:49 -0500)]
Add an allocation function for ust stream
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 20:20:52 +0000 (15:20 -0500)]
Rename ltt_ust_stream to ust_app_stream
This data structure only have sense on the application registry side.
The tracing registry does not directly handle stream anymore. This patch
also move it from trace-ust.h to ust-app.h.
No code was changed nor any behaviors altered.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 17:03:55 +0000 (12:03 -0500)]
Move stream name creation to fct create_ust_stream
This is for two reasons. First, to avoid for the caller to create the
stream name. Second, on snprintf() error, we can't continue so put back
the reserved FDs and return an error.
We do that name creation now *before* the stream is created on the
application side so we don't have to release that object on error.
Only after that the stream is added to the list and the channel count
updated. This makes more sense and better handle the error path. Also,
this patch removes a XXX: statement which are always not cool on
production software :).
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 16:59:00 +0000 (11:59 -0500)]
Fix: UST returns -LTTNG_UST_ERR_NOENT and not -ENOENT
On stream creation, it's an UST error code and not the errno one.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 16:38:19 +0000 (11:38 -0500)]
Fix: add missing fd put on stream creation error
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 16:25:09 +0000 (11:25 -0500)]
Add a create_ust_stream function in ust-app.c
This helps by having a single callsite for ustctl_create_stream and
removes the need for the caller to handle FD reservation. On success,
the function sets the returned handle to the given stream.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 16:24:29 +0000 (11:24 -0500)]
Fix: change function name for better meaning
Mostly to avoid confusion in the future for patches, reviews and
contributors.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Mon, 21 Jan 2013 15:50:44 +0000 (10:50 -0500)]
Fix: improve error handling for UST stream creation
Signed-off-by: David Goulet <dgoulet@efficios.com>
Jérémie Galarneau [Mon, 14 Jan 2013 16:45:49 +0000 (16:45 +0000)]
Extras: Fixed inconsistent use of space and tabs in lttng.i.in.
Python 3 does not allow mixing spaces and tabs. This eliminates the
error encountered when importing the lttng module in a Python 3
interpreter.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Jérémie Galarneau [Mon, 14 Jan 2013 16:45:48 +0000 (16:45 +0000)]
Extras: Redefined PyInt_AsSsize_T to PyLong_AsSsize_t.
Python 3 merges PyInt and PyLong types. This fixes the undefined symbol
error encountered when using the bindings with Python 3.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Jérémie Galarneau [Mon, 14 Jan 2013 16:45:47 +0000 (16:45 +0000)]
Extras: Fix the undefined reference to md build error.
Removed scripted modifications to lttng_wrap.c during Python binding
generation.
This adds back the "md" warning of SWIG. See the upstream bug still
waiting to merged upstream: sourceforge.net/p/swig/bugs/1246/
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
Jérémie Galarneau [Mon, 14 Jan 2013 16:45:46 +0000 (16:45 +0000)]
Extras: Added lttng.pyc to make clean
This is for Python bindings.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 16 Jan 2013 20:19:35 +0000 (15:19 -0500)]
Refactor ust-app create session
This function was basically a mess for returned values. A valid pointer
that could be a created or already existing session, NULL on error or -1
on disconnect error...
Now, it returns 0 on success or a negative errno code. It populates the
ust app session pointer parameter given by the caller and sets to 1, if
available, the is_created parameter if we did in fact create a new
session.
The motivation behind that was to be able to know if the session was
created or not so we could do a cleanup aftwerwards if any error on the
code path requires wipping the session object. This patch uses that for
the case of a create channel failure just after the session creation. It
now wipes the session if it was created.
Furthermore, this has been error prone in the past by forgetting to
handle the -1 error value being in a pointer variable.
Signed-off-by: David Goulet <dgoulet@efficios.com>
David Goulet [Wed, 16 Jan 2013 19:15:42 +0000 (14:15 -0500)]
Fix: remove duplicate set ust event filter
Signed-off-by: David Goulet <dgoulet@efficios.com>
Samuel Martin [Sat, 12 Jan 2013 08:23:57 +0000 (09:23 +0100)]
Make sync_file_range() usage optional
Under uClibc, sync_file_range() is not available under all
architectures, so we fall back to fdatasync() in this case.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
This page took 0.042999 seconds and 4 git commands to generate.