lttng-tools.git
8 years agodoc/man: create lttng-view(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 21:13:25 +0000 (16:13 -0500)] 
doc/man: create lttng-view(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-version(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:44:03 +0000 (15:44 -0500)] 
doc/man: create lttng-version(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-stop(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:37:38 +0000 (15:37 -0500)] 
doc/man: create lttng-stop(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-start(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:37:07 +0000 (15:37 -0500)] 
doc/man: create lttng-start(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-load(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:36:33 +0000 (15:36 -0500)] 
doc/man: create lttng-load(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-save(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:36:07 +0000 (15:36 -0500)] 
doc/man: create lttng-save(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-set-session(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:35:34 +0000 (15:35 -0500)] 
doc/man: create lttng-set-session(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-destroy(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:35:03 +0000 (15:35 -0500)] 
doc/man: create lttng-destroy(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: create lttng-create(1) and update/fix content
Philippe Proulx [Wed, 11 Nov 2015 20:34:19 +0000 (15:34 -0500)] 
doc/man: create lttng-create(1) and update/fix content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: add common OPTIONS head for command man pages
Philippe Proulx [Tue, 17 Nov 2015 04:38:05 +0000 (23:38 -0500)] 
doc/man: add common OPTIONS head for command man pages

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: add Makefile.am for generating man pages
Philippe Proulx [Wed, 11 Nov 2015 20:32:51 +0000 (15:32 -0500)] 
doc/man: add Makefile.am for generating man pages

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years ago.gitignore: ignore generated man page artifacts
Philippe Proulx [Tue, 1 Sep 2015 14:59:40 +0000 (10:59 -0400)] 
.gitignore: ignore generated man page artifacts

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: add XSL files for man pages
Philippe Proulx [Tue, 1 Sep 2015 14:58:42 +0000 (10:58 -0400)] 
doc/man: add XSL files for man pages

Those XSL files, some of them inspired by Git documentation's own
XSL files, manipulate the intermediate DocBook XML file to
fine-tune the man pages rendering.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: add asciidoc.conf
Philippe Proulx [Tue, 1 Sep 2015 14:58:25 +0000 (10:58 -0400)] 
doc/man: add asciidoc.conf

asciidoc.conf is the configuration file for AsciiDoc. It contains macros
to generate the output differently based on the backend.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoconfigure.ac: check for asciidoc and xmlto
Philippe Proulx [Tue, 1 Sep 2015 05:39:13 +0000 (01:39 -0400)] 
configure.ac: check for asciidoc and xmlto

asciidoc and xmlto are now needed to build the lttng(1) man pages from
AsciiDoc sources. This is only checked if the --enable-build-man-pages
is passed to ./configure; otherwise, the man pages are still installed
if their troff version exists, which should always be the case in
tarball distributions so that the user does not need asciidoc and xmlto.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: lttng(1): update and standardize content
Philippe Proulx [Wed, 11 Nov 2015 19:37:18 +0000 (14:37 -0500)] 
doc/man: lttng(1): update and standardize content

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agodoc/man: convert lttng(1) to AsciiDoc
Philippe Proulx [Mon, 31 Aug 2015 20:10:54 +0000 (16:10 -0400)] 
doc/man: convert lttng(1) to AsciiDoc

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd builtin modules support to kmod modprobe
Michael Jeanson [Fri, 12 Feb 2016 21:31:48 +0000 (16:31 -0500)] 
Add builtin modules support to kmod modprobe

Report success when loading a module that is built in the kernel.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd comments to kmod functions
Michael Jeanson [Fri, 12 Feb 2016 21:31:47 +0000 (16:31 -0500)] 
Add comments to kmod functions

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd libkmod rmmod support
Michael Jeanson [Fri, 12 Feb 2016 21:31:46 +0000 (16:31 -0500)] 
Add libkmod rmmod support

We previously had support to load modules with libkmod but we always
unload modules by calling the modprobe binary.

This patch adds the libkmod module unloading which is faster and gives
us better error handling. This implementation also graciously handles
built-in lttng kernel modules.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMove libkmod ifdef to beginning of file
Michael Jeanson [Fri, 12 Feb 2016 21:31:45 +0000 (16:31 -0500)] 
Move libkmod ifdef to beginning of file

This will be useful to add the libkmod implementation of the
modprobe_remove_lttng() function in a single ifdef.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoDrop optional control modules load and unload
Michael Jeanson [Fri, 12 Feb 2016 21:31:44 +0000 (16:31 -0500)] 
Drop optional control modules load and unload

The optionnal control modules are loaded and unloaded through modules
dependencies by modprobe or libkmod. Trying to load them manually leads
to spurious log messages and slows down the sessiond startup.

Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: live test header endianness
Julien Desfossez [Mon, 7 Mar 2016 20:34:02 +0000 (15:34 -0500)] 
Fix: live test header endianness

The data_size and version fields should be sent in network order. The
test is only run locally for now, but this could change in the future.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoDocument the live detach command
Julien Desfossez [Mon, 7 Mar 2016 19:21:30 +0000 (14:21 -0500)] 
Document the live detach command

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTest the viewer detach command
Julien Desfossez [Mon, 7 Mar 2016 17:47:37 +0000 (12:47 -0500)] 
Test the viewer detach command

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoUse of bare attribute directives instead of LTTNG_PACKED
Jérémie Galarneau [Wed, 16 Mar 2016 18:19:35 +0000 (14:19 -0400)] 
Use of bare attribute directives instead of LTTNG_PACKED

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoLive: command to detach a viewer session
Julien Desfossez [Mon, 7 Mar 2016 17:46:50 +0000 (12:46 -0500)] 
Live: command to detach a viewer session

The LTTNG_VIEWER_DETACH_SESSION command allows the viewer to detach from
a session it is currently attached to without requiring it to close
the network connection.

Fixes: #853
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoContexts for RT debugging
Julien Desfossez [Mon, 7 Mar 2016 20:20:25 +0000 (15:20 -0500)] 
Contexts for RT debugging

Enables the interruptible, preemptible, need_reschedule and migratable
kernel contexts.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoOptional test for the metadata regeneration
Julien Desfossez [Fri, 18 Sep 2015 19:31:37 +0000 (15:31 -0400)] 
Optional test for the metadata regeneration

This test changes the date of the current system before and after the
metadata regeneration command to make sure the behaviour is as expected.
It is not run by default and requires the
LTTNG_ENABLE_DESTRUCTIVE_TESTS environment variable to be set to
"will-break-my-system".

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd MI output to the metadata regenerate command
Julien Desfossez [Thu, 17 Sep 2015 14:58:10 +0000 (10:58 -0400)] 
Add MI output to the metadata regenerate command

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTests for metadata regenerate
Julien Desfossez [Sun, 30 Aug 2015 00:26:36 +0000 (20:26 -0400)] 
Tests for metadata regenerate

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd TAGS files to .gitignore
Julien Desfossez [Mon, 7 Mar 2016 17:14:28 +0000 (12:14 -0500)] 
Add TAGS files to .gitignore

These files are generated by "make tags" in each folder.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: systematic overwrite of union values on add context
Jonathan Rajotte [Thu, 10 Mar 2016 20:04:35 +0000 (15:04 -0500)] 
Fix: systematic overwrite of union values on add context

Bug introduced in commit 2001793c1141e89b34e70efb28b27ec0cc8e6d47

The type and config fields of the lttng_event_perf_counter_ctx member of
lttng_event_context union would always be set to zero.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMismatching signature of ust_metadata_session_statedump() stub
Jérémie Galarneau [Fri, 11 Mar 2016 23:59:10 +0000 (18:59 -0500)] 
Mismatching signature of ust_metadata_session_statedump() stub

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: Initialize events discarded and packet lost counters to zero
Jérémie Galarneau [Fri, 11 Mar 2016 23:36:17 +0000 (18:36 -0500)] 
Fix: Initialize events discarded and packet lost counters to zero

The runtime stats functions would only set the counter value
matching the current buffer-switching policy resulting in
uninitialized discarded event counts in "overwrite" mode, and
uninitialized lost packet counts in "discard" mode.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAssert on unknown UST buffer type
Jérémie Galarneau [Fri, 11 Mar 2016 23:36:00 +0000 (18:36 -0500)] 
Assert on unknown UST buffer type

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoCommand metadata regenerate
Julien Desfossez [Fri, 7 Aug 2015 20:06:49 +0000 (16:06 -0400)] 
Command metadata regenerate

Command to regenerate the metadata file when the session is running.
This allows the user to regenerate the metadata after a major NTP
correction and that way update the clock offset from epoch in the
metadata.

Works for kernel and UST per-uid session local or remote (not live).

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoStore the relay protocol version in the consumer_output
Julien Desfossez [Sun, 30 Aug 2015 17:02:42 +0000 (13:02 -0400)] 
Store the relay protocol version in the consumer_output

This allows the sessiond to know which version of the protocol is
currently in use with the relay (useful for the metadata regeneration
checks).

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoStore the version of the tracer in the UID registry
Julien Desfossez [Fri, 21 Aug 2015 16:21:41 +0000 (12:21 -0400)] 
Store the version of the tracer in the UID registry

When the per-uid registry is created, we copy the version of the tracer
(extracted from the first app that creates the registry). Useful to
regenerate the metadata later regardless of the state of this first app.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoStore the instance id and packet_seq_num in indexes
Julien Desfossez [Mon, 6 Jul 2015 17:22:51 +0000 (13:22 -0400)] 
Store the instance id and packet_seq_num in indexes

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agokernctl commands to extract the stream instance id
Julien Desfossez [Mon, 6 Jul 2015 17:22:32 +0000 (13:22 -0400)] 
kernctl commands to extract the stream instance id

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAccount the lost packets in snapshot mode
Julien Desfossez [Fri, 10 Jul 2015 20:07:07 +0000 (16:07 -0400)] 
Account the lost packets in snapshot mode

When working in flight-recorder, we cannot rely on the absolute sequence
number because we only extract the content of the ring buffer
periodically. Moreover, we don't want to account the lost packets at the
beginning or the end of the snapshot since the "holes" don't appear in
the resulting snapshot, so we make sure we only account lost packets
located between extracted packets.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTest: Add the lttng-runas worker process to the sessiond pids
Jérémie Galarneau [Thu, 10 Mar 2016 19:23:28 +0000 (14:23 -0500)] 
Test: Add the lttng-runas worker process to the sessiond pids

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoLimit the scope of IFS overwriting
Jonathan Rajotte [Thu, 8 Oct 2015 18:01:40 +0000 (14:01 -0400)] 
Limit the scope of IFS overwriting

The overwrite caused a folder ' ' to be created locally when running root tests.
Use while loop to preserve space in invalid filter string.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoDo not overwrite IFS globally but only locally
Jonathan Rajotte [Tue, 6 Oct 2015 19:41:41 +0000 (15:41 -0400)] 
Do not overwrite IFS globally but only locally

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoDisplay discarded and lost events at destroy and stop
Julien Desfossez [Fri, 3 Jul 2015 21:48:27 +0000 (17:48 -0400)] 
Display discarded and lost events at destroy and stop

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: tests: use SIGSTOP for crash extraction test
Mathieu Desnoyers [Thu, 10 Mar 2016 16:13:37 +0000 (11:13 -0500)] 
Fix: tests: use SIGSTOP for crash extraction test

Ensure that SIGKILL being received only by some consumer processes don't
trigger clean shutdown of other consumer processes (due to hang up of
communication FD by the session daemon).

Fix this by invoking a SIGSTOP on both sessiond and consumerd, and wait
until we see those process state change to "stopped" before proceeding
to send the SIGKILL.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
CC: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTest fix: ignore stderr at every step of randstring
Jérémie Galarneau [Wed, 9 Mar 2016 20:49:24 +0000 (15:49 -0500)] 
Test fix: ignore stderr at every step of randstring

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: session_find_by_id can return NULL legitimately
Jérémie Galarneau [Wed, 9 Mar 2016 20:34:52 +0000 (15:34 -0500)] 
Fix: session_find_by_id can return NULL legitimately

session_find_by_id can return NULL when the backing hash table
is NULL. This is not an error in the context of
its caller, save_per_pid_lost_discarded_counters(), since the
ltt_session can be destroyed before an ust app session is torn down.

See the comment in save_per_pid_lost_discarded_counters() for more
information.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: mark ltt_sessions_ht_destroy as static
Jérémie Galarneau [Wed, 9 Mar 2016 20:33:55 +0000 (15:33 -0500)] 
Fix: mark ltt_sessions_ht_destroy as static

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoDocs: Missing locking assumptions in function headers
Jérémie Galarneau [Wed, 9 Mar 2016 20:33:22 +0000 (15:33 -0500)] 
Docs: Missing locking assumptions in function headers

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTest fix: ignore stderr when generating random string
Jérémie Galarneau [Wed, 9 Mar 2016 20:26:37 +0000 (15:26 -0500)] 
Test fix: ignore stderr when generating random string

tr often reports a broken pipe when the head command exits
(after having received enough characters) which pollutes the
test output.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: hold session list lock during delete_ust_app
Jérémie Galarneau [Tue, 8 Mar 2016 23:51:36 +0000 (18:51 -0500)] 
Fix: hold session list lock during delete_ust_app

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTest: prevent the spawning of a daemonized sessiond
Jonathan Rajotte [Tue, 8 Mar 2016 22:37:39 +0000 (17:37 -0500)] 
Test: prevent the spawning of a daemonized sessiond

Sets the default lttng-sessiond path to /bin/true to prevent the spawning
of a daemonized sessiond. This is necessary since 'lttng create' will spawn
its own sessiond if none is running. It also ensures that 'lttng create'
fails when no sessiond is running.

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMissing void in function signature
Jérémie Galarneau [Tue, 8 Mar 2016 21:32:23 +0000 (16:32 -0500)] 
Missing void in function signature

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoCLI: Show filter expression associated to a syscall
Jérémie Galarneau [Tue, 8 Mar 2016 18:04:33 +0000 (13:04 -0500)] 
CLI: Show filter expression associated to a syscall

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: missing dereference when computing extended info position
Jérémie Galarneau [Tue, 8 Mar 2016 18:04:07 +0000 (13:04 -0500)] 
Fix: missing dereference when computing extended info position

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: Only save kernel enablers in session configuration
Jérémie Galarneau [Tue, 8 Mar 2016 17:08:12 +0000 (12:08 -0500)] 
Fix: Only save kernel enablers in session configuration

The session configuration serialization currently saves the
kernel enablers along with all enabled syscalls. In the case
where a syscall would be enabled with a given filter, this would
result in two events being enabled:

1) the syscall with its filter expression (the enabler)
2) the syscall on its own (an enabled syscall)

The observable effect of this is that the syscall ends up being
traced regardless of the filter's evaluation.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: Only list kernel enablers when listing events
Jérémie Galarneau [Tue, 8 Mar 2016 17:06:14 +0000 (12:06 -0500)] 
Fix: Only list kernel enablers when listing events

lttng list would list kernel enablers and individual enabled
syscalls which would result in a confusing output.

For instance, enabling the "open" syscall with a filter would
result in a list output displaying both the enabler,
the syscall's name + its filter, and the syscall on its own,
without any mention of an enabled filter.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: syscalls hash table leaks when listing kernel events
Jérémie Galarneau [Tue, 8 Mar 2016 16:11:33 +0000 (11:11 -0500)] 
Fix: syscalls hash table leaks when listing kernel events

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoInitialize command header to zero
Jérémie Galarneau [Tue, 8 Mar 2016 15:59:49 +0000 (10:59 -0500)] 
Initialize command header to zero

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoRename filter string to filter expression in liblttng-ctl
Jérémie Galarneau [Tue, 8 Mar 2016 15:59:09 +0000 (10:59 -0500)] 
Rename filter string to filter expression in liblttng-ctl

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: use of unsigned variable to check for negative return
Jérémie Galarneau [Tue, 8 Mar 2016 15:03:55 +0000 (10:03 -0500)] 
Fix: use of unsigned variable to check for negative return

Reported by Coverity Scan, CID 1352682.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoClean-up: remove unreachable goto
Jérémie Galarneau [Tue, 8 Mar 2016 14:59:22 +0000 (09:59 -0500)] 
Clean-up: remove unreachable goto

Reported by Coverity Scan CID 1352683.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: missing static inline breaks --without-lttng-ust build
Jérémie Galarneau [Tue, 8 Mar 2016 04:42:30 +0000 (23:42 -0500)] 
Fix: missing static inline breaks --without-lttng-ust build

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agolttng enable-channel memsets lttng_channel to -1
Jérémie Galarneau [Tue, 8 Mar 2016 03:35:23 +0000 (22:35 -0500)] 
lttng enable-channel memsets lttng_channel to -1

The lttng enable-channel command uses a global
struct lttng_channel which it initializes to contain all "-1".

This is a hack used to set tag all attributes as "unset" which
has the unfortunate consequence of setting the extended pointer
to a non-sensical value. This workaround explicitly sets the
extended pointer to NULL, but this command should be refactored so
it is no longer necessary.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoChange padding type from array to fixed-width integer
Jérémie Galarneau [Mon, 7 Mar 2016 22:13:53 +0000 (17:13 -0500)] 
Change padding type from array to fixed-width integer

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoClean-up: missing space between cast operator and operand
Jérémie Galarneau [Mon, 7 Mar 2016 17:47:42 +0000 (12:47 -0500)] 
Clean-up: missing space between cast operator and operand

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoEnsure UST channel output mode is LTTNG_UST_MMAP
Jérémie Galarneau [Mon, 7 Mar 2016 17:47:23 +0000 (12:47 -0500)] 
Ensure UST channel output mode is LTTNG_UST_MMAP

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoExtract the lost packets and discarded events counters
Julien Desfossez [Mon, 29 Jun 2015 19:58:01 +0000 (15:58 -0400)] 
Extract the lost packets and discarded events counters

The "lttng list" command now shows the number of discarded events
(discard mode) or lost packets (overwrite mode).

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoSend extended channel payload to client
Jérémie Galarneau [Mon, 7 Mar 2016 23:22:56 +0000 (18:22 -0500)] 
Send extended channel payload to client

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd channel discarded events and lost packets stats accessors
Jérémie Galarneau [Mon, 7 Mar 2016 22:38:04 +0000 (17:38 -0500)] 
Add channel discarded events and lost packets stats accessors

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd extended info to liblttng-ctl's struct lttng_channel
Jérémie Galarneau [Mon, 7 Mar 2016 22:14:24 +0000 (17:14 -0500)] 
Add extended info to liblttng-ctl's struct lttng_channel

The change has been tested to maintain lttng_channel's size
on x86, x86-64 and ARM32. The alignment rules of these
architectures should cover all cases.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoReuse constant string instead of duplicate literal
Jérémie Galarneau [Fri, 4 Mar 2016 16:59:57 +0000 (11:59 -0500)] 
Reuse constant string instead of duplicate literal

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoClean-up: simplify computation of string position
Jérémie Galarneau [Fri, 4 Mar 2016 16:59:38 +0000 (11:59 -0500)] 
Clean-up: simplify computation of string position

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoOptimization: lttng UI uses sprintf instead of strcpy
Jérémie Galarneau [Fri, 4 Mar 2016 16:31:00 +0000 (11:31 -0500)] 
Optimization: lttng UI uses sprintf instead of strcpy

The LTTng client currently uses sprintf with format strings
that don't contain a format specifier.

Users have reported concerns for the scalability and performance
of the LTTng UI because of this overkill use of sprintf instead
of strcpy which, presumably, could be inlined by the compiler.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: OOT build fails because of missing include path
Jérémie Galarneau [Fri, 4 Mar 2016 01:30:48 +0000 (20:30 -0500)] 
Fix: OOT build fails because of missing include path

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTests: Consider lttng mi namespace in test_load
Jérémie Galarneau [Thu, 3 Mar 2016 23:51:19 +0000 (18:51 -0500)] 
Tests: Consider lttng mi namespace in test_load

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMI: Remove boolean "exclusion" element
Jérémie Galarneau [Thu, 3 Mar 2016 23:37:44 +0000 (18:37 -0500)] 
MI: Remove boolean "exclusion" element

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMI: add <exclusions> (event exclusion names)
Philippe Proulx [Sat, 29 Aug 2015 22:09:21 +0000 (18:09 -0400)] 
MI: add <exclusions> (event exclusion names)

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoCLI: show event exclusion names
Philippe Proulx [Sat, 29 Aug 2015 22:12:36 +0000 (18:12 -0400)] 
CLI: show event exclusion names

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd new LTTNG_ERR_OVERFLOW error code
Jérémie Galarneau [Thu, 3 Mar 2016 21:50:42 +0000 (16:50 -0500)] 
Add new LTTNG_ERR_OVERFLOW error code

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd lttng_event_get_exclusion_name*() to liblttng-ctl
Philippe Proulx [Sat, 29 Aug 2015 22:32:37 +0000 (18:32 -0400)] 
Add lttng_event_get_exclusion_name*() to liblttng-ctl

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTests: Consider lttng mi namespace in test_mi
Jérémie Galarneau [Wed, 2 Mar 2016 21:11:26 +0000 (16:11 -0500)] 
Tests: Consider lttng mi namespace in test_mi

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMI: Implement event context schema change
Jérémie Galarneau [Wed, 2 Mar 2016 18:27:59 +0000 (13:27 -0500)] 
MI: Implement event context schema change

8 years agoMI: Add application context type to schema
Jérémie Galarneau [Wed, 2 Mar 2016 04:26:43 +0000 (23:26 -0500)] 
MI: Add application context type to schema

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMI: add schemaVersion attribute to command schema
Jérémie Galarneau [Wed, 2 Mar 2016 04:20:57 +0000 (23:20 -0500)] 
MI: add schemaVersion attribute to command schema

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMI: set machine interface XSD target namespace
Jérémie Galarneau [Wed, 2 Mar 2016 04:24:46 +0000 (23:24 -0500)] 
MI: set machine interface XSD target namespace

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd schema information to XML MI output
Jérémie Galarneau [Mon, 29 Feb 2016 22:52:58 +0000 (17:52 -0500)] 
Add schema information to XML MI output

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: libxml2 may return 0 because of buffering
Jérémie Galarneau [Mon, 29 Feb 2016 19:23:19 +0000 (14:23 -0500)] 
Fix: libxml2 may return 0 because of buffering

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoBump LTTng MI schema to 3.0
Jérémie Galarneau [Fri, 26 Feb 2016 22:08:33 +0000 (17:08 -0500)] 
Bump LTTng MI schema to 3.0

The machine interface schema now allows LTTng to express filter
expressions.

It also introduces "any" clauses at various points to allow the
extension of the schema in a non-breaking way.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoMI: add <filter_expression> (event filter expression)
Philippe Proulx [Sat, 29 Aug 2015 21:12:48 +0000 (17:12 -0400)] 
MI: add <filter_expression> (event filter expression)

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTransfer UST exclusion names from sessiond to client
Philippe Proulx [Sat, 29 Aug 2015 20:57:56 +0000 (16:57 -0400)] 
Transfer UST exclusion names from sessiond to client

The variable-length extended info has this layout as of this
patch:

    [extended info header][filter string][excl name 1][excl name 2]...

The extended info header contains the length of the subsequent
filter string, including its terminal null character, as well as
the number of exclusion names, each one having a fixed length of
LTTNG_SYMBOL_NAME_LEN bytes, including their terminal null character.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoFix: return negative error code in list_lttng_ust_global_events()
Jérémie Galarneau [Fri, 26 Feb 2016 20:14:04 +0000 (15:14 -0500)] 
Fix: return negative error code in list_lttng_ust_global_events()

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoCLI: show agent event filter string
Jérémie Galarneau [Fri, 26 Feb 2016 20:13:33 +0000 (15:13 -0500)] 
CLI: show agent event filter string

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoCLI: show event filter string
Philippe Proulx [Fri, 26 Feb 2016 20:12:28 +0000 (15:12 -0500)] 
CLI: show event filter string

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd lttng_event_get_filter_string() to liblttng-ctl
Philippe Proulx [Sat, 29 Aug 2015 22:31:03 +0000 (18:31 -0400)] 
Add lttng_event_get_filter_string() to liblttng-ctl

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoTransfer filter strings from sessiond to client
Philippe Proulx [Fri, 28 Aug 2015 21:48:39 +0000 (17:48 -0400)] 
Transfer filter strings from sessiond to client

Previously, the payload of the list events was a simple array of
struct lttng_event.

    [event1][event2][event3]

This patch adds an array of variable-length extended infos at the
end of the event array:

    [event1][event2][event3][extinfo1][extinfo2][extinfo3]

When received on the client side, the event structures are
edited so that their new extended.ptr member points to their
respective extended infos:

    [event1][event2][event3][extinfo1][extinfo2][extinfo3]
        \       \       \      ^         ^         ^
         \       \       \____/_________/_________/
          \       \__________/_________/
           \________________/

This allows this whole block to be freed at once, so as to
keep existing applications linked with liblttng-ctl working
without being recompiled.

The variable-length extended info has this layout for the moment:

    [extended info header][filter string]

The extended info header contains the length of the subsequent
filter string, including its terminal null character.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoRefactor setup_lttng_msg() to include cmd header
Philippe Proulx [Fri, 28 Aug 2015 17:34:54 +0000 (13:34 -0400)] 
Refactor setup_lttng_msg() to include cmd header

setup_lttng_msg_full() is now responsible for memcpy()ing
the command header and payload to the complete message.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
8 years agoAdd offset comments to struct lttng_event
Philippe Proulx [Fri, 28 Aug 2015 15:20:47 +0000 (11:20 -0400)] 
Add offset comments to struct lttng_event

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
This page took 0.053596 seconds and 4 git commands to generate.