lttng-tools.git
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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.

9 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

9 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

9 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

9 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>
9 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>
9 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

9 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>
9 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>
9 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

9 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

9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 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>
9 years agoMi start command: support and validation
Jonathan Rajotte Julien [Thu, 5 Jun 2014 14:27:41 +0000 (10:27 -0400)] 
Mi start command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
9 years agoMi save&load command: support and validation
Jonathan Rajotte Julien [Tue, 17 Jun 2014 17:00:38 +0000 (13:00 -0400)] 
Mi save&load command: support and validation

Signed-off-by: Jonathan Rajotte Julien <jonathan.r.julien@gmail.com>
9 years agoMi version command: add commit version to mi version
Jonathan Rajotte Julien [Thu, 15 May 2014 16:10:17 +0000 (12:10 -0400)] 
Mi version command: add commit version to mi version

9 years agoMi: mi xsd validation
Jonathan Rajotte [Wed, 16 Apr 2014 21:14:08 +0000 (17:14 -0400)] 
Mi: mi xsd validation

Command list and version supported

9 years agoMi: support for command list
Jonathan Rajotte [Wed, 16 Apr 2014 21:03:31 +0000 (17:03 -0400)] 
Mi: support for command list

Signed-off-by: Jonathan Rajotte <jonathan.r.julien@gmail.com>
9 years agoMi: add mi support for lttng struct
Jonathan Rajotte [Wed, 16 Apr 2014 20:08:38 +0000 (16:08 -0400)] 
Mi: add mi support for lttng struct

Add mi-lttng support to the following struct:
    lttng_domain
    lttng_channel
    lttng_channel_attr
    lttng_event
        +multiple mi utility format:
            common attribute
            tracepoint_loglevel
            tracepoint_no_loglevel
            function probe
            function entry
    lttng_event_field

mi-lttng other element
    pid element

Rebase on master:
Fix: remove extra linking due to add of mi-lttng to libcommon

9 years agoMi: mi backend + mi for command version
Jonathan Rajotte [Sun, 6 Apr 2014 19:30:32 +0000 (15:30 -0400)] 
Mi: mi backend + mi for command version

The machine interface option is now available for version. Other
commands will shortly follow. Mi backend is expected to grow with
addition of mi support to other commands.

How to use:
lttng --mi <mi_output_type> <command>

This syntax will be the same for all commands. Currently *only xml is
supported as machine interface output.*

As for errors handling, if an error/warning occurs while using mi it
will be reported on stderr as normal. The integrity of the mi output
cannot be guaranteed if an error/warning occurs. The error output format
is consistent and easy for a machine client to parse. Thus no mi output
format is required for error output.

Example:
lttng --mi xml version
Output:
<?xml version="1.0" encoding="UTF-8"?>
  <command>
    <name>version</name>
    <output>
      <string>2.4.0-rc2</string>
      <major>2</major>
      <minor>4</minor>
      <patchLevel>0</patchLevel>
      <name>Époque Opaque</name>
      <description>The Époque Opaque is a black IPA from Trou du Diable
      brewery. The nose is eerily reminiscent of the coffee crisp candy from
      of our childhood. These strong mocha accents are present on the palate,
      which are quickly subdued by Japanese and Australian hops leading to a
      final state of satisfaction enjoyable for any fan of bitter
      beer.</description>
      <url>http://lttng.org</url>
      <license>lttng is free software and under the GPL license and part
      LGPL</license>
  </output>
</command>

Signed-off-by: Olivier Cotte <olivier.cotte@polymtl.ca>
Signed-off-by: Jonathan Rajotte <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoUpdate ChangeLog with 2.4.2 and 2.5.0 release
David Goulet [Wed, 16 Jul 2014 20:23:52 +0000 (16:23 -0400)] 
Update ChangeLog with 2.4.2 and 2.5.0 release

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: validate file path creds in autoload mode
David Goulet [Wed, 16 Jul 2014 19:50:31 +0000 (15:50 -0400)] 
Fix: validate file path creds in autoload mode

Validate the credentials only when in auto load mode for the auto/
directory. The lttng load command now checks the session file creds and
validate if it's readable before trying to do so.

Thus with this, a user can load a session from the system wide directory
as long as she/he has the rights to read it.

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: change session file loading order
David Goulet [Wed, 16 Jul 2014 18:02:56 +0000 (14:02 -0400)] 
Fix: change session file loading order

Libconfig now tries to load a session file from the user directory
followed by the system wide. A user session file should always
supersedes the system wide.

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: add Loading Sessions section to lttng-sessiond.8
David Goulet [Wed, 16 Jul 2014 17:06:17 +0000 (13:06 -0400)] 
Fix: add Loading Sessions section to lttng-sessiond.8

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: add default session conf. dir to manpage
David Goulet [Wed, 16 Jul 2014 16:52:08 +0000 (12:52 -0400)] 
Fix: add default session conf. dir to manpage

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: on session load, add it to the .lttngrc
David Goulet [Tue, 15 Jul 2014 18:28:38 +0000 (14:28 -0400)] 
Fix: on session load, add it to the .lttngrc

Fixes #818

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: clarify session conf. directory in man
David Goulet [Tue, 15 Jul 2014 18:21:56 +0000 (14:21 -0400)] 
Fix: clarify session conf. directory in man

Fixes #817

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: filter error path could free invalid ptr
David Goulet [Tue, 15 Jul 2014 13:16:54 +0000 (09:16 -0400)] 
Fix: filter error path could free invalid ptr

Also add a check for a NULL pointer when freeing the filter bytecode so
we don't deref an invalid ptr.

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: Create a lock file to prevent multiple session daemons
Jérémie Galarneau [Mon, 14 Jul 2014 18:57:10 +0000 (14:57 -0400)] 
Fix: Create a lock file to prevent multiple session daemons

A lock file is used to ensure that only one session daemon per UID is
running on the system. The lock file is created in the rundir.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: relayd stream set close_flag on stream close
David Goulet [Mon, 14 Jul 2014 20:37:05 +0000 (16:37 -0400)] 
Fix: relayd stream set close_flag on stream close

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: ustctl_get_stream_id without UST support
David Goulet [Mon, 14 Jul 2014 19:49:02 +0000 (15:49 -0400)] 
Fix: ustctl_get_stream_id without UST support

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: avoid freeing invalid ptr in filter bytecode
David Goulet [Mon, 14 Jul 2014 18:32:10 +0000 (14:32 -0400)] 
Fix: avoid freeing invalid ptr in filter bytecode

Reported-by: Jonathan Rajotte <jonathan.r.julien@gmail.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: get the stream_id when generating live beacons
Julien Desfossez [Mon, 14 Jul 2014 18:05:48 +0000 (14:05 -0400)] 
Fix: get the stream_id when generating live beacons

When we send an empty index (beacon), we need to extract the stream_id
to avoid stalling the client on inactive streams on startup.
Since the live clients need to know this feature is implemented, we had
to bump the lttng-live protocol version.

This fix should be backported to stable-2.4 as well.

Refs: #811

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
9 years agoFix: use biggest subbuffer size for snapshot max-size
David Goulet [Wed, 9 Jul 2014 19:24:04 +0000 (15:24 -0400)] 
Fix: use biggest subbuffer size for snapshot max-size

Instead of using the output max size divided by the total amount of
streams in the session, we find the largest subbuffer in the session's
channels. Using that value, we multiply it by the total amount of
streams which gives us the lower limit of the snapshot size. That is
enough to make sure that we can take the snapshot or not.

Once done, the max stream size possible used for the snapshot record is
the largest subbuffer size in the session. This is to make sure that
every channel can extract the same amount of data which ensure fairness
between each channel in the session.

Fixes #783

Acked-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: Possible memory leak when multiple config files are loaded
Jérémie Galarneau [Fri, 11 Jul 2014 19:22:18 +0000 (15:22 -0400)] 
Fix: Possible memory leak when multiple config files are loaded

Some configuration options could leak when initialized multiple times
from different configuration files and from the command line arguments.
The previous options are now freed' before being set.

Fixes #796

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: Clamp verbosity value read from config file
Jérémie Galarneau [Thu, 10 Jul 2014 21:41:08 +0000 (17:41 -0400)] 
Fix: Clamp verbosity value read from config file

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: Unchecked strdup return values in set_option
Jérémie Galarneau [Thu, 10 Jul 2014 21:04:19 +0000 (17:04 -0400)] 
Fix: Unchecked strdup return values in set_option

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: add a get HOME dir fallback to getpwuid
David Goulet [Thu, 10 Jul 2014 20:02:02 +0000 (16:02 -0400)] 
Fix: add a get HOME dir fallback to getpwuid

If the $HOME or $LTTNG_HOME is not defined, fallback on getpwuid(3) of
the process uid.

Fixes #815

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: signedness of the session live timer
David Goulet [Thu, 10 Jul 2014 19:45:02 +0000 (15:45 -0400)] 
Fix: signedness of the session live timer

Fixes #806

Signed-off-by: David Goulet <dgoulet@efficios.com>
9 years agoFix: don't print channel name on enable JUL event
David Goulet [Thu, 10 Jul 2014 19:40:36 +0000 (15:40 -0400)] 
Fix: don't print channel name on enable JUL event

Fixes #802

Signed-off-by: David Goulet <dgoulet@efficios.com>
This page took 0.041867 seconds and 4 git commands to generate.