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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Jérémie Galarneau [Wed, 2 Mar 2016 18:27:59 +0000 (13:27 -0500)]
MI: Implement event context schema change
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Philippe Proulx [Wed, 26 Aug 2015 19:44:27 +0000 (15:44 -0400)]
Add command header to sessiond->client response msg
Response messages from the session daemon have this layout
for the moment:
[message header] (fixed size)
[payload data] (0 to n bytes)
This patch makes them have this layout:
[message header] (fixed size)
[command header] (0 to n bytes)
[payload data] (0 to n bytes)
The command header allows a command to specify additional
informations about its payload.
The header size is set to 0 for all commands for the moment.
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Thu, 25 Feb 2016 21:28:16 +0000 (16:28 -0500)]
Add internal extended channel structure
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Mon, 29 Jun 2015 19:45:56 +0000 (15:45 -0400)]
Metadata for instance_id and packet_seq_num
The UST tracer now stores a stream_instance_id in each packet to allow
the viewers to match streams split in multiple trace files.
Also, a sequence_number is stored in each packet so it is possible to
compute the number of lost packets in overwrite mode.
This is a locked-step with the corresponding lttng-ust commits.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Fri, 7 Aug 2015 02:14:49 +0000 (22:14 -0400)]
Add a HT to lookup sessions by id
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Julien Desfossez [Fri, 3 Jul 2015 21:08:27 +0000 (17:08 -0400)]
Explicitly stop the session on lttng destroy
This changes the default behavior of the "destroy" command and API: now
it implicitely stops the tracing and waits for the data to be available
on disk or the network. Like the "stop" command and API, a no_wait
option is available to skip the waiting and destroy directly the
session.
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Mathieu Desnoyers [Wed, 24 Feb 2016 00:41:40 +0000 (19:41 -0500)]
Fix: per-pid ust buffers flush race with application unregister
If an application exits between the moment we create the ust app session
(shadow copy) and the moment we send channels to the application,
sending channels may fail. If the application unregisters between the
the end of ust app session creation and the destroy that follows (ust
app session lock is released in between), we may see is_sent being
false.
This assert was initially there in the early days of lttng-tools when
the application was responsible for doing the flush. Now that the flush
has been moved to the consumer daemon, we don't need this assertion
anymore.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Tue, 23 Feb 2016 20:18:18 +0000 (15:18 -0500)]
Fix warning when building Python bindings
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Philippe Proulx [Sat, 20 Feb 2016 01:39:35 +0000 (20:39 -0500)]
Add CONTRIBUTING.md
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Tue, 23 Feb 2016 19:52:13 +0000 (14:52 -0500)]
Revert "Python bindings: remove duplicate structure definitions"
This reverts commit
dcac8046802214aa852b7b3b36bc78a793cb6295.
Jérémie Galarneau [Thu, 18 Feb 2016 17:23:44 +0000 (12:23 -0500)]
Docs: clarify cross-version tracer compatibility
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Fri, 19 Feb 2016 19:34:22 +0000 (14:34 -0500)]
Cleanup: Remove unnecessary newline
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Michael Jeanson [Thu, 18 Feb 2016 17:45:13 +0000 (12:45 -0500)]
Fix: Use ipv6 loopback adress in test_uri
Some older version of Debian/Ubuntu and maybe other distros won't set
localhost to point on ::1 in the system hosts file and use instead a
custom name like ip6-localhost or ipv6-locahost which is not
standardized across distros.
To work around this, use the ipv6 loopback address instead of localhost.
Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Thu, 18 Feb 2016 16:56:50 +0000 (11:56 -0500)]
Python bindings: remove duplicate structure definitions
Use the structure definitions as defined in the public lttng
headers and not local copies which will go unmaintained.
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jonathan Rajotte [Wed, 17 Feb 2016 21:33:00 +0000 (16:33 -0500)]
Fix: test: handle env variables undefined
Prevent errors on non-existent key fetching e.g LD_PRELOAD & LD_LIBRARY_PATH.
Uses .get() with a default empty string to prevent this case.
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Sun, 14 Feb 2016 23:22:03 +0000 (18:22 -0500)]
Fix: report already enabled event error to client
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Jérémie Galarneau [Sun, 14 Feb 2016 23:02:21 +0000 (18:02 -0500)]
Docs: add comment to cmd_add_context()
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
This page took 0.052014 seconds and 4 git commands to generate.