lttng-tools.git
10 years agoFix: use max between index and nbmem for syscall table realloc
David Goulet [Tue, 30 Sep 2014 16:00:31 +0000 (12:00 -0400)] 
Fix: use max between index and nbmem for syscall table realloc

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: fd leak in inet accept call
David Goulet [Tue, 30 Sep 2014 15:59:49 +0000 (11:59 -0400)] 
Fix: fd leak in inet accept call

Fixes Coverity issue #1241799.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoTest: add diag to each syscall test
David Goulet [Mon, 29 Sep 2014 19:06:56 +0000 (15:06 -0400)] 
Test: add diag to each syscall test

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoSupport syscall event in save session
David Goulet [Mon, 29 Sep 2014 14:55:33 +0000 (10:55 -0400)] 
Support syscall event in save session

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdd syscall listing support
David Goulet [Mon, 22 Sep 2014 18:58:30 +0000 (14:58 -0400)] 
Add syscall listing support

This adds two things. First, a global syscall table populated at boot
time that is used to match which syscall is enabled or not using the
lttng kernel get mask call.

The second thing is the ability to list which syscall is enable or not
in a specific session. Keep in mind that for syscalls, NO state is kept
on the session daemon so we have to ask the kernel tracer which syscall
is enabled for a specific channel.

This introduce some changes to the API/ABI. First, an event flag is
added to the lttng_event data structure using 4 bytes of padding for an
enum value that can be ORed together in that field. This is used for now
to know which bitness the event is in case of a syscall event type.

Second, lttng_list_syscalls(...) is added to provide the ability to list
all available syscalls that the user can trace. To use that with the
lttng command line, "--syscall" is added to lttng list.

    $ lttng list -k --syscall

The above only lists available syscalls from the kernel tracer.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: change perror to PERROR in kernel consumer
David Goulet [Mon, 29 Sep 2014 13:38:42 +0000 (09:38 -0400)] 
Fix: change perror to PERROR in kernel consumer

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: syscall test: add missing semicolumns in match
Mathieu Desnoyers [Fri, 26 Sep 2014 00:52:27 +0000 (20:52 -0400)] 
Fix: syscall test: add missing semicolumns in match

Don't match the system call "openat" for instance.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: kernel consumer: issue put_subbuf on error
Mathieu Desnoyers [Fri, 26 Sep 2014 00:49:45 +0000 (20:49 -0400)] 
Fix: kernel consumer: issue put_subbuf on error

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoTest: add disable syscalls when none are enabled
Mathieu Desnoyers [Wed, 24 Sep 2014 16:18:19 +0000 (12:18 -0400)] 
Test: add disable syscalls when none are enabled

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
10 years agoImplement tests for kernel syscall tracing feature
Mathieu Desnoyers [Wed, 24 Sep 2014 01:19:07 +0000 (21:19 -0400)] 
Implement tests for kernel syscall tracing feature

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
10 years agoFix: syscall tracing: disable all and missing error handling
Mathieu Desnoyers [Wed, 24 Sep 2014 01:04:29 +0000 (21:04 -0400)] 
Fix: syscall tracing: disable all and missing error handling

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
10 years agoImplement kernctl_syscall_mask
Mathieu Desnoyers [Mon, 15 Sep 2014 19:07:02 +0000 (15:07 -0400)] 
Implement kernctl_syscall_mask

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoImplement syscall mask ioctl
Mathieu Desnoyers [Mon, 15 Sep 2014 18:20:53 +0000 (14:20 -0400)] 
Implement syscall mask ioctl

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agolttng-modules ABI: syscall field "enable"
Mathieu Desnoyers [Fri, 12 Sep 2014 18:22:28 +0000 (14:22 -0400)] 
lttng-modules ABI: syscall field "enable"

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdd kernctl_syscall_list
Mathieu Desnoyers [Fri, 12 Sep 2014 16:10:29 +0000 (12:10 -0400)] 
Add kernctl_syscall_list

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoCleanup: Remove LTTNG_ENABLE_ALL_EVENT and LTTNG_DISABLE_ALL_EVENT
Mathieu Desnoyers [Wed, 10 Sep 2014 20:50:58 +0000 (16:50 -0400)] 
Cleanup: Remove LTTNG_ENABLE_ALL_EVENT and LTTNG_DISABLE_ALL_EVENT

Cleanup lttng-ctl to session daemon communication protocol, and cleanup
session daemon code (remove dead code).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoImplement support for lttng-modules syscall filtering
Mathieu Desnoyers [Tue, 9 Sep 2014 22:56:13 +0000 (18:56 -0400)] 
Implement support for lttng-modules syscall filtering

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoSupport lttng-modules syscall filtering in enable-event
Mathieu Desnoyers [Sat, 19 Jul 2014 21:16:22 +0000 (17:16 -0400)] 
Support lttng-modules syscall filtering in enable-event

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix out-of-tree build
Simon Marchi [Sat, 20 Sep 2014 01:29:23 +0000 (21:29 -0400)] 
Fix out-of-tree build

Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: Propagate socket timeouts on lttcomm_accept_inet_sock()
Jérémie Galarneau [Tue, 23 Sep 2014 21:46:32 +0000 (17:46 -0400)] 
Fix: Propagate socket timeouts on lttcomm_accept_inet_sock()

Ensure that send/recv timeouts are applied to new sockets created
from a lttcomm_accept_inet_sock().

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: report UST consumer channel creation error
Mathieu Desnoyers [Mon, 22 Sep 2014 16:39:08 +0000 (12:39 -0400)] 
Fix: report UST consumer channel creation error

The session daemon reports no error whatsoever when the consumer daemon
fails to create a channel. We don't want to print errors when failing to
send the channel to the UST application though, because the application
may be concurrently exiting. So only print those errors when receiving
reply from the consumerd.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoTest: Add the new log4j agent
David Goulet [Mon, 15 Sep 2014 19:22:12 +0000 (15:22 -0400)] 
Test: Add the new log4j agent

This adds the log4j java agent test.

It also moves the JUL test and build system to use the new UST java
agent jar.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: memory leak in load session thread
David Goulet [Mon, 22 Sep 2014 15:05:06 +0000 (11:05 -0400)] 
Fix: memory leak in load session thread

Fixes Coverity issue 1213789.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: kernel context memory leak on error
David Goulet [Mon, 22 Sep 2014 15:03:24 +0000 (11:03 -0400)] 
Fix: kernel context memory leak on error

Fixes Coverity issue 1223776.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: possible file descriptor leak in error path
David Goulet [Mon, 22 Sep 2014 14:55:52 +0000 (10:55 -0400)] 
Fix: possible file descriptor leak in error path

Fixes Coverity issue 1225086.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: use after free in agent subsystem
David Goulet [Mon, 22 Sep 2014 14:50:42 +0000 (10:50 -0400)] 
Fix: use after free in agent subsystem

Fixes Coverity issue 1230592.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdd version to agent registration message
David Goulet [Fri, 19 Sep 2014 17:58:31 +0000 (13:58 -0400)] 
Add version to agent registration message

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: ignore error when loading optional kmod
Philippe Proulx [Mon, 15 Sep 2014 17:43:56 +0000 (13:43 -0400)] 
Fix: ignore error when loading optional kmod

This commit also improves the accuracy of debug messages: a module is
not "successfully" loaded when it's optional and actually not loaded.

Fixes: #837
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agosessiond: Add --extra-kmod-probes option
Philippe Proulx [Sat, 13 Sep 2014 01:37:18 +0000 (21:37 -0400)] 
sessiond: Add --extra-kmod-probes option

This patch adds the --extra-kmod-probes option to lttng-sessiond. The
LTTNG_EXTRA_KMOD_PROBES environment variable may also be used.

The option specifies a list of extra probe kernel modules to be loaded
(and unloaded) by lttng-sessiond. The list is appended to either the
default list or to the user-supplied --kmod-probes list.

This option is especially useful for kernel developers who need the
default LTTng kernel probes plus additional probes in order to
instrument their custom kernel or module. This becomes easy with
--extra-kmod-probes:

    lttng-sessiond --extra-kmod-probes=custom_subsys,other

would load all known and available LTTng kernel probes plus
lttng_probe_custom_subsys and lttng_probe_other.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: remove break in lttng cmdline session listing
David Goulet [Thu, 18 Sep 2014 19:38:18 +0000 (15:38 -0400)] 
Fix: remove break in lttng cmdline session listing

This was causing to only list the first session with a "lttng list"
command.

Reported-by: Philippe Proulx <eeppeliteloop@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: use default agent channel name in disable event
David Goulet [Mon, 15 Sep 2014 19:20:51 +0000 (15:20 -0400)] 
Fix: use default agent channel name in disable event

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoRemove enable/disable consumer obsolete command
David Goulet [Thu, 11 Sep 2014 18:26:10 +0000 (14:26 -0400)] 
Remove enable/disable consumer obsolete command

They've been obsolete for quite some time now so just remove any
reference and file to get rid of it.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdd log4j default event and channel name handling
David Goulet [Tue, 9 Sep 2014 15:22:50 +0000 (11:22 -0400)] 
Add log4j default event and channel name handling

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: remove an odd no name directory from the test tree
David Goulet [Wed, 10 Sep 2014 20:38:04 +0000 (16:38 -0400)] 
Fix: remove an odd no name directory from the test tree

Reported-by: Daniel Thibault <Daniel.Thibault@drdc-rddc.gc.ca>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: move easter egg after arg parsing else it breaks the mi test
David Goulet [Wed, 10 Sep 2014 16:16:48 +0000 (12:16 -0400)] 
Fix: move easter egg after arg parsing else it breaks the mi test

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoLoad modules through kmod
Umut Tezduyar Lindskog [Thu, 4 Sep 2014 08:30:53 +0000 (10:30 +0200)] 
Load modules through kmod

Instead of forking processes, load modules through libkmod.

This adds an optional package dependency to kmod but can be disabled by
--disable-kmod option in ./configure. If --enable-kmod option is given
but no kmod is found, loading will happen by forking a process.

The startup time has decreased by %36 on our embedded mips product. The
measurement is done by cgroup cpu shares.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdd cscope files to gitignore
David Goulet [Mon, 8 Sep 2014 18:50:06 +0000 (14:50 -0400)] 
Add cscope files to gitignore

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: list agent event per domain only
David Goulet [Fri, 5 Sep 2014 19:29:23 +0000 (15:29 -0400)] 
Fix: list agent event per domain only

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: typo in lttng list command for log4j
David Goulet [Fri, 5 Sep 2014 19:24:58 +0000 (15:24 -0400)] 
Fix: typo in lttng list command for log4j

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoTest: add disable-event JUL tests
David Goulet [Fri, 5 Sep 2014 16:16:18 +0000 (12:16 -0400)] 
Test: add disable-event JUL tests

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: disable-event for an agent domain
David Goulet [Fri, 5 Sep 2014 16:13:55 +0000 (12:13 -0400)] 
Fix: disable-event for an agent domain

This fixes the disable-event command for an agent that was not working
properly in the case an application was spawned after the command.

Also, for the disable all event command for an agent, the disable
command will try first to disable the '*' event and will disable all
already existing events after. This is to make sure the refcount on the
agent side is synchronized with the amount of enable event prior.

Fixes #831

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: send disable ALL command code if event is *
David Goulet [Fri, 5 Sep 2014 16:12:38 +0000 (12:12 -0400)] 
Fix: send disable ALL command code if event is *

$ lttng disable-event -a
and
$ lttng disable-event '*'

Both commands should do the same meaning send the DISABLE_EVENT_ALL
command to the session daemon.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: make sure no index is in flight before using inactivity beacons
Julien Desfossez [Wed, 27 Aug 2014 17:59:21 +0000 (13:59 -0400)] 
Fix: make sure no index is in flight before using inactivity beacons

Since the index is sent in two parts on two separate connections from
the consumer, there can be cases where we receive an inactivity beacon
between the index creation and the data reception.

This fix prevents from using the inactivity beacon if we know a data
index is coming.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoTests: Validate that filters may be used with JUL's logger_name filtering
Jérémie Galarneau [Thu, 28 Aug 2014 16:53:44 +0000 (12:53 -0400)] 
Tests: Validate that filters may be used with JUL's logger_name filtering

This test validates that custom filters may be used on JUL events
without interfering with the implicit filtering done on the logger_name
field.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: Parenthesize previous statement when adding conditions to a filter
Jérémie Galarneau [Thu, 28 Aug 2014 16:53:43 +0000 (12:53 -0400)] 
Fix: Parenthesize previous statement when adding conditions to a filter

Not parenthesizing the clauses in a filter string causes JUL events to be
traced even though they are not enabled when an enable-event command is
issued with a filter and the --loglevel-only option.

For instance,

lttng enable-event -j "my_event" --loglevel-only JUL_CONFIG -f "int_loglevel > 0 || int_loglevel < 0"

results in the following filter being applied:

int_loglevel > 0 || int_loglevel < 0 && logger_name == "my_event" && int_loglevel == 700

The resulting expression will always evaluate to true, regardless of the logger
name.

This fix parenthesizes each clause to ensure they are all independently
evaluated and not unintuitively affected by operator precedence.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: mi print of probe attributes + validation
Jonathan Rajotte Julien [Thu, 28 Aug 2014 20:51:09 +0000 (16:51 -0400)] 
Fix: mi print of probe attributes + validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: parse_prob_opts return the actual success of the function
Jonathan Rajotte Julien [Wed, 27 Aug 2014 19:46:57 +0000 (15:46 -0400)] 
Fix: parse_prob_opts return the actual success of the function

This bug have been triggered by the mi merging and the use of a
command_ret in enable_events functions. Previously, enable_events was
reusing the ret variable for another operation and always replacing ret.
Parse_probe_event returned the last output of sscanf which represent
the number of match and not the success of the operation.

Fixes #830

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: list without a name is not an error
Jonathan Rajotte Julien [Fri, 22 Aug 2014 20:25:47 +0000 (16:25 -0400)] 
Fix: list without a name is not an error

Fixes #829

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoTest: add match only event utils function
David Goulet [Wed, 3 Sep 2014 18:21:41 +0000 (14:21 -0400)] 
Test: add match only event utils function

This is linked to #831 where the JUL disable event test was NOT failing
but was using a bogus trace match function. It should have match a
specific number of event only.

This commit makes the test java JUL fail.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: Man page typos
Jérémie Galarneau [Thu, 14 Aug 2014 20:17:22 +0000 (16:17 -0400)] 
Fix: Man page typos

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agofix: mi: xsd: wrong comment for context_type_type
Jonathan Rajotte Julien [Wed, 13 Aug 2014 20:58:29 +0000 (16:58 -0400)] 
fix: mi: xsd: wrong comment for context_type_type

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoMi & save/load: add option to indent or not on config writer creation
Jonathan Rajotte Julien [Wed, 6 Aug 2014 14:13:48 +0000 (10:13 -0400)] 
Mi & save/load: add option to indent or not on config writer creation

The presence of tabulation and newline in mi is irrelevant and can
impact client performance. The parsing & processing of a lot of data
from mi with many /t and /n impact performance. This aim to fix the
problem at the source. Style is useless for machine.

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: remove racy wait_app from JUL tests
David Goulet [Tue, 12 Aug 2014 15:41:36 +0000 (11:41 -0400)] 
Fix: remove racy wait_app from JUL tests

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdding log4j agent support
David Goulet [Mon, 4 Aug 2014 19:08:38 +0000 (15:08 -0400)] 
Adding log4j agent support

This adds the log4j domain to the public ABI and "-l, --log4j" option in
the lttng command line tool to be able to use it.

Note that at this commit, the JUL default channel and event name are
used for the log4j domain. That might become specific to the domain in
the long run.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoChange --jul-port-tcp and jul.port to use agent namespace
David Goulet [Wed, 30 Jul 2014 18:12:09 +0000 (14:12 -0400)] 
Change --jul-port-tcp and jul.port to use agent namespace

They are both renamed to --agent-port-tcp and "agent.port" file.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdd the support for multiple agent
David Goulet [Wed, 30 Jul 2014 18:03:26 +0000 (14:03 -0400)] 
Add the support for multiple agent

For this, a new field has been added to the register message, the domain
type. Agent object and agent application object have now a domain type
so we can enable/disable the right event for the right agent for a
client command or during an application registration.

The "jevent" name has been renamed to "aevent" so further remove the
concept of Java event.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoRefactor JUL to agent namespace
David Goulet [Mon, 28 Jul 2014 20:06:35 +0000 (16:06 -0400)] 
Refactor JUL to agent namespace

The specific JUL concept has been removed and it is now "agent" objects.
This is the first step to support multiple agents within the same
subsystem.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoTest: Ensure wildcards may only appear last in a string literal
Jérémie Galarneau [Mon, 4 Aug 2014 18:10:28 +0000 (14:10 -0400)] 
Test: Ensure wildcards may only appear last in a string literal

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoDisallow wildcards in event names except as the last character
Jérémie Galarneau [Mon, 4 Aug 2014 18:10:29 +0000 (14:10 -0400)] 
Disallow wildcards in event names except as the last character

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoWarn that wildcards must be used as the last character in a string
Jérémie Galarneau [Mon, 4 Aug 2014 18:10:27 +0000 (14:10 -0400)] 
Warn that wildcards must be used as the last character in a string

Wildcards are currently only supported as the last character in a string
literal used in an event filter. This rule is not checked which may
confuse users who expect complete wildcard support in filter
expressions.

An error is now reported and the filter string is treated as invalid.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: disable JUL event on destroy
David Goulet [Tue, 29 Jul 2014 18:11:48 +0000 (14:11 -0400)] 
Fix: disable JUL event on destroy

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: git version build system integration (v2)
Mathieu Desnoyers [Tue, 29 Jul 2014 22:36:51 +0000 (18:36 -0400)] 
Fix: git version build system integration (v2)

Fix:
- Don't overwrite version.h if the previous content matches.
- While we are there, if we notice the previous content matches,
  print a (cached) message to show that we do not overwrite the
  content.
- Introduce LTTNG_TOOLS_BUILD_GIT_SOURCE automake conditional rather
  than compile-time define to disable the feature. It ensures we
  do not invoke "git describe" when configure --disable-git-version
  has been requested.
- Use git describe rather than git describe --long --all. Based
  on the last tag, and adds the first numbers of git revision.
  Last tag is useful both to the developer and in a bug report,
  whereas the branch name returned by --long --all is meaningless
  in a bug report.
- We want to ship version.h.tmpl in the tarball (make dist), not
  version.h which is generated. Someone could very well do a
  git init on the extracted tarball and want to have git tracking
  support.
- Fix the git prefix " - " that is incorrectly printed in some
  situations, e.g. when GIT_SOURCE was active, but we are in
  a non-git tree (or git is not available).
- Fix incorrect handling of out of tree build. Invoke git describe from
  top_srcdir.

Changelog since v1:
- Add missing comma for lttng usage output.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: out of tree build by adding missing ini.c include
Mathieu Desnoyers [Tue, 29 Jul 2014 22:10:27 +0000 (18:10 -0400)] 
Fix: out of tree build by adding missing ini.c include

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: mi: missing files on make dist
Jonathan Rajotte Julien [Tue, 29 Jul 2014 19:24:16 +0000 (15:24 -0400)] 
Fix: mi: missing files on make dist

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agomi: add machine interface description to man page
Jonathan Rajotte Julien [Tue, 29 Jul 2014 14:25:52 +0000 (10:25 -0400)] 
mi: add machine interface description to man page

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: always use git describe --all --long for the git version
David Goulet [Tue, 29 Jul 2014 15:38:44 +0000 (11:38 -0400)] 
Fix: always use git describe --all --long for the git version

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAdd --disable-git-version to configure
David Goulet [Tue, 29 Jul 2014 15:28:51 +0000 (11:28 -0400)] 
Add --disable-git-version to configure

By default, GIT_SOURCE variable is defined to 1. The disable option
makes the configure to NOT define it.

This way, anyone not wanting the git version like for instance packager
building from the git repository, it can be used to remove it.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoAlways print GIT_VERSION even if empty
Jonathan Rajotte Julien [Mon, 28 Jul 2014 19:43:29 +0000 (15:43 -0400)] 
Always print GIT_VERSION even if empty

Adjustment from last proposed patch. Less crowded and more standard.
This should not break any packaging.

feedback?

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoFix: mi: logically dead code, missing ret assignment
Jonathan Rajotte Julien [Mon, 28 Jul 2014 19:50:28 +0000 (15:50 -0400)] 
Fix: mi: logically dead code, missing ret assignment

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoChange wfq usages for wfcq
Simon Marchi [Sat, 26 Jul 2014 05:26:56 +0000 (01:26 -0400)] 
Change wfq usages for wfcq

This removes the deprecated warnings when building lttng-tools. We can
now build with -Werror, woohoo!

This makes lttng-tools depends on userspace-rcu version 0.8.0 and above.
The configure.ac and README files have been updated for this.

Verified by running make check.

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: unbalanced ustconsumer32_data.pid_mutex lock
Mathieu Desnoyers [Mon, 28 Jul 2014 00:38:50 +0000 (20:38 -0400)] 
Fix: unbalanced ustconsumer32_data.pid_mutex lock

It is never locked in this function, but should be. This is triggering
spurious runtime failures on my system, where it seems that sessiond was
sometimes breaking the communication pipe with liblttng-ctl when the
unbalanced unlock is reached.

This should be backported to stable-2.4 and stable-2.5.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoMi test: make sure to not auto load session when using lttng-sessiond
Jonathan Rajotte Julien [Mon, 28 Jul 2014 14:56:05 +0000 (10:56 -0400)] 
Mi test: make sure to not auto load session when using lttng-sessiond

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoFix: comment syntax and indentation
David Goulet [Mon, 28 Jul 2014 14:39:26 +0000 (10:39 -0400)] 
Fix: comment syntax and indentation

Signed-off-by: David Goulet <dgoulet@efficios.com>
10 years agoFix: remove duplicate elements definition in mi_lttng.xsd
Jonathan Rajotte Julien [Fri, 25 Jul 2014 14:03:28 +0000 (10:03 -0400)] 
Fix: remove duplicate elements definition in mi_lttng.xsd

The presence of a *duplicate* elements can lead to ambiguity when
validating when using java validator. This is a mostly rebasing error.

10 years agoMi: fix: use GIT_VERSION inplace of FULL_NAME
Jonathan Rajotte Julien [Wed, 23 Jul 2014 18:12:14 +0000 (14:12 -0400)] 
Mi: fix: use GIT_VERSION inplace of FULL_NAME

10 years agoFix: Mi: use sub field of version struct for version string
Jonathan Rajotte Julien [Wed, 23 Jul 2014 15:33:04 +0000 (11:33 -0400)] 
Fix: Mi: use sub field of version struct for version string

10 years agoAdd test utilities to gitignore
Jonathan Rajotte Julien [Tue, 22 Jul 2014 19:31:42 +0000 (15:31 -0400)] 
Add test utilities to gitignore

10 years agoTest: Mi test suite
Jonathan Rajotte Julien [Thu, 3 Jul 2014 18:08:43 +0000 (14:08 -0400)] 
Test: Mi test suite

Test case:
enable ust event
disable ust event
list channel
list domain
list session
list ust event
start command
stop command
snapshot command

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoFix test: use local prefix for function scoped variable
Jonathan Rajotte Julien [Wed, 2 Jul 2014 21:08:19 +0000 (17:08 -0400)] 
Fix test: use local prefix for function scoped variable

This prevent unexpected behaviour when the caller function have similar
variable.

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi test: Refactoring and multiple test suites
Jonathan Rajotte Julien [Wed, 2 Jul 2014 14:12:02 +0000 (10:12 -0400)] 
Mi test: Refactoring and multiple test suites

Test for: destroy command
          basic list command
          enable_channel
          disable_channel

10 years agoFix test: add custom output redirector to utils.sh
Jonathan Rajotte Julien [Tue, 1 Jul 2014 22:17:35 +0000 (18:17 -0400)] 
Fix test: add custom output redirector to utils.sh

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi test: Basic test structure
Jonathan Rajotte Julien [Thu, 17 Jul 2014 18:34:08 +0000 (14:34 -0400)] 
Mi test: Basic test structure

Added two utils: an xml xpath extractor and xml xsd validator.

Test for session command

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoFix mi: validation for snapshot element
Jonathan Rajotte Julien [Tue, 22 Jul 2014 14:48:03 +0000 (10:48 -0400)] 
Fix mi: validation for snapshot element

10 years agoMi fix: conserve original error handling behaviour
Jonathan Rajotte Julien [Mon, 21 Jul 2014 18:19:41 +0000 (14:19 -0400)] 
Mi fix: conserve original error handling behaviour

Make sure success is put to zero when an error happens

10 years agoImprove bash completion with the use of mi and xmllint
Jonathan Rajotte Julien [Thu, 17 Jul 2014 18:13:20 +0000 (14:13 -0400)] 
Improve bash completion with the use of mi and xmllint

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoFix mi: use of wrong variable for error propagation
Jonathan Rajotte Julien [Thu, 3 Jul 2014 13:57:11 +0000 (09:57 -0400)] 
Fix mi: use of wrong variable for error propagation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi fix: refactor disable_channel mi output to success element
Jonathan Rajotte Julien [Wed, 2 Jul 2014 19:25:33 +0000 (15:25 -0400)] 
Mi fix: refactor disable_channel mi output to success element

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoComment mi: update mi_lttng_domain todo
Jonathan Rajotte Julien [Wed, 25 Jun 2014 17:52:00 +0000 (13:52 -0400)] 
Comment mi: update mi_lttng_domain todo

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoFix mi: add support for Jul loglevel
Jonathan Rajotte Julien [Wed, 25 Jun 2014 17:34:12 +0000 (13:34 -0400)] 
Fix mi: add support for Jul loglevel

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi fix: basic formatting
Jonathan Rajotte Julien [Thu, 19 Jun 2014 21:08:29 +0000 (17:08 -0400)] 
Mi fix: basic formatting

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi disable-channel command: support and validation
Jonathan Rajotte Julien [Thu, 12 Jun 2014 19:51:13 +0000 (15:51 -0400)] 
Mi disable-channel command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi disable-event command: support and validation
Jonathan Rajotte Julien [Tue, 3 Jun 2014 13:56:53 +0000 (09:56 -0400)] 
Mi disable-event command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi set-session command: support and validation
Jonathan Rajotte Julien [Wed, 18 Jun 2014 21:26:15 +0000 (17:26 -0400)] 
Mi set-session command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi enable-event command: support for enable-event command
Jonathan Rajotte Julien [Wed, 18 Jun 2014 21:12:41 +0000 (17:12 -0400)] 
Mi enable-event command: support for enable-event command

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi enable-channel command: support and validation
Jonathan Rajotte Julien [Wed, 18 Jun 2014 19:49:15 +0000 (15:49 -0400)] 
Mi enable-channel command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi add-context command: support and validation
Jonathan Rajotte Julien [Wed, 18 Jun 2014 19:22:11 +0000 (15:22 -0400)] 
Mi add-context command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi calibrate command: support and validation
Jonathan Rajotte Julien [Wed, 18 Jun 2014 18:28:04 +0000 (14:28 -0400)] 
Mi calibrate command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi destroy command: support and validation
Jonathan Rajotte Julien [Wed, 18 Jun 2014 15:50:19 +0000 (11:50 -0400)] 
Mi destroy command: support and validation

Function destroy_session now take a session as argument. It simplifies the mi
support and give further information on the destroyed session.

Regular output is not affected but the refactoring. We could add the
supplementary information for regular printing if wanted.

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi create command: support and validation
Jonathan Rajotte Julien [Wed, 18 Jun 2014 14:44:16 +0000 (10:44 -0400)] 
Mi create command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
10 years agoMi stop command: support and validation
Jonathan Rajotte Julien [Thu, 5 Jun 2014 19:50:40 +0000 (15:50 -0400)] 
Mi stop command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
This page took 0.047426 seconds and 4 git commands to generate.