lp:~lttng/babeltrace/trunk

Created by Ubuntu LTTng on 2011-05-21 and last modified on 2020-08-06
Get this branch:
bzr branch lp:~lttng/babeltrace/trunk

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu LTTng
Project:
Babeltrace
Status:
Development

Import details

Import Status: Reviewed

This branch is an import of the HEAD branch of the Git repository at git://git.efficios.com/babeltrace.git.

The next import is scheduled to run in 1 hour.

Last successful import was 4 hours ago.

Import started 4 hours ago on izar and finished 4 hours ago taking 20 seconds — see the log
Import started 10 hours ago on alnitak and finished 10 hours ago taking 20 seconds — see the log
Import started 16 hours ago on izar and finished 16 hours ago taking 20 seconds — see the log
Import started 22 hours ago on izar and finished 22 hours ago taking 20 seconds — see the log
Import started on 2020-08-08 on alnitak and finished on 2020-08-08 taking 20 seconds — see the log
Import started on 2020-08-08 on alnitak and finished on 2020-08-08 taking 20 seconds — see the log
Import started on 2020-08-08 on alnitak and finished on 2020-08-08 taking 20 seconds — see the log
Import started on 2020-08-08 on alnitak and finished on 2020-08-08 taking 20 seconds — see the log
Import started on 2020-08-07 on izar and finished on 2020-08-07 taking 20 seconds — see the log
Import started on 2020-08-07 on izar and finished on 2020-08-07 taking 20 seconds — see the log

Recent revisions

4190. By gbastien on 2020-08-06

sink.text.pretty: add optional `print-enum-flags` parameter

`print-enum-flags` parameter
============================
This new parameter tells the component to try to print enum values as
ORed bit flags if it applies.

When printing the value of an enum field that has no corresponding mapping,
the value is divided into its bit values and if each bit has a corresponding
mapping, consider that those mappings are ORed bit flags.

If any of the bits has no mapping, then the value is printed as <unknown>.

Example Babeltrace output of such a field (block_rq* kernel events):

  [13:15:49.024354958] (+0.000003868) wilbrod block_rq_complete: { cpu_id = 4 },
      { dev = 8388624, sector = 375490176, nr_sector = 360, error = 0,
       rwbs = ( "RWBS_FLAG_READ" | "RWBS_FLAG_RAHEAD" : container = 12 ) }

This parameter defaults to `false` as it may trigger unexpected behavior
if a trace contains a bit flag that is not described in the metadata as
is, but can be expressed as a binary OR of two existing values.
This can happen if an application changes the possible values of an
enumeration but forgets to update the metadata associated with
that recorded field. Such value must be printed as <unknown>.

Print all labels matching value
===============================
With this commit, a `sink.text.pretty` component will print all matching
labels inside curly brackets separated by commas. See
`print_enum_value_label_array()`.

So if an enum value matches two labels it will be printed as:
  enum_field = ( { "bit0", "range1to3" } : container = 1 )

Change-Id: I26a17307243d5612c70c0e5b04e6b9567b0720d3
Signed-off-by: Geneviève Bastien <email address hidden>
Signed-off-by: Francis Deslauriers <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3045
Tested-by: jenkins <email address hidden>
Reviewed-by: Jérémie Galarneau <email address hidden>

4189. By gbastien on 2020-08-06

Tests: sink.text.pretty: Add unit tests for enum fields printing

Adds a Python component class who creates an event class with an enum
field that contains the enumeration described by the test caller. The
script iterator has a single event with a value also sent in parameter.

The tests themselves are run from a bash script, for signed/unsigned
values.

This commit also renames the existing `test_pretty` test file to
`test_pretty_python` to control all future Python tests for the
`sink.text.pretty` component class.

Change-Id: I3f631224dd3bdf21dbb2ef2d233c9f2dc8da43fa
Signed-off-by: Geneviève Bastien <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3149
CI-Build: Francis Deslauriers <email address hidden>
Tested-by: jenkins <email address hidden>
Reviewed-by: Philippe Proulx <email address hidden>

4188. By Simon Marchi <email address hidden> on 2020-08-05

bt2: update comment about bt2._UserMessageIterator

The comment modified by this patch contains a few stale informations.
Update it to reflect the current reality.

Change-Id: I565eed51728c74ed5d8ba1e07d32b5b538a0c554
Signed-off-by: Simon Marchi <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3882
Reviewed-by: Philippe Proulx <email address hidden>
Tested-by: jenkins <email address hidden>

4187. By Simon Marchi <email address hidden> on 2020-08-05

bt2: remove comment reference to "output port message iterator"

Output port message iterators is a concept that existed in preliminary
versions of Babeltrace 2, but did not exist in the final release. This
comment is stale.

Change-Id: I012e640eb33fe1dbf84b3863ae21a313f6de57f3
Signed-off-by: Simon Marchi <email address hidden>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3881
Reviewed-by: Philippe Proulx <email address hidden>

4186. By .eepp on 2020-07-23

babeltrace2-source.ctf.fs(7): add a "CTF compliance" description section

This new section states that `src.ctf.fs` complies with CTF 1.8.3. It
also lists a few exceptions/limitations.

Signed-off-by: Philippe Proulx <email address hidden>
Change-Id: I45dc9d6c63fc17f1660ddf9359e83da9e1967df3
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3809
Reviewed-by: Jérémie Galarneau <email address hidden>

4185. By Francis Deslauriers <email address hidden> on 2020-07-21

Fix: src.ctf.lttng-live: overwrite of error status trips `BT_ASSERT()`

Issue
=====
While tracking a bug in the LTTng Consumer daemon we witness an
assertion failure of Babeltrace:
  # Test ust streaming live clear with viewer
  # Parameters: tracing_active=1, clear_twice=1, buffer_type=uid
  ok 253 - Create session Yi7ksFEZ76dwwd4m with uri:net://localhost and opts: --live
  ok 254 - Enable channel chan for session Yi7ksFEZ76dwwd4m
  ok 255 - Enable ust event tp:tptest for session Yi7ksFEZ76dwwd4m
  ok 256 - Start tracing for session Yi7ksFEZ76dwwd4m
  # Waiting for live trace at url: net://localhost
  ok 257 - Waiting for live trace at url: net://localhost
  # Waiting for live viewers on url: net://localhost
  ok 258 - Waiting for live viewers on url: net://localhost
  07-10 15:14:20.932 13745 13745 E PLUGIN/SRC.CTF.LTTNG-LIVE/VIEWER <email address hidden>:1601 [lttng-live] Received get_data_packet response: unknown

   (╯°□°)╯︵ ┻━┻ msg-iter.c:491: request_medium_bytes(): Assertion `buffer_sz != 0` failed

The issue is that even when the `lttng_live_get_stream_bytes()`
function fails miserably because of an unknown status code, it could
return a `CTF_MSG_ITER_MEDIUM_STATUS_OK`. This happens because we are
calling the `viewer_status_to_ctf_msg_iter_medium_status()` function in
the `error:` label even when the `status` variable was already set.

Solution
========
Add another label to specifically convert status from `enum lttng_live_viewer_status` to
`enum ctf_msg_iter_medium_status`.

Notes
=====
- This commit adds the printing of the value of the unknown status
  received by the Relay

Signed-off-by: Francis Deslauriers <email address hidden>
Change-Id: I6c740dd28ee0b336cf06dbdbf60d6333cf79d168
Reviewed-on: https://review.lttng.org/c/babeltrace/+/3758
Reviewed-by: Jérémie Galarneau <email address hidden>
Tested-by: jenkins <email address hidden>

4184. By Jérémie Galarneau <email address hidden> on 2020-07-17

Fix: source.ctf.lttng-live: muxing failure on clear (unit conversion)

This commit is a follow-up fix for 8ec4d5ff (see original message).
The original fix included a bogus comparison of:
  `stream_iter->last_inactivity_ts > curr_msg_ts_ns`

While the idea behind the fix is valid, this statement compares
nanoseconds since Unix Epoch (former) to clock cycles (latter).

A conversion of the `last_inactivity_ts` to nanoseconds since Unix epoch
is performed using the stream's default clock class allowing a
comparison in a common time base to take place.

The diff looks more intimidating than it really is as it shifts the
indentation of a lot of code at once. This is because we only want to
perform the timestamp conversion when necessary (very rarely) on this
fairly hot path.

Reviewed-by: Francis Deslauriers <email address hidden>
Signed-off-by: Jérémie Galarneau <email address hidden>
Change-Id: Ibdc365fec4685da88ae141383d5e5ef0af169a87

4183. By Simon Marchi <email address hidden> on 2020-07-16

configure: enable -Wstrict-prototypes unconditionally

I noticed that -Wstrict-prototypes would not get enabled, because the
autoconf test program generates a warning of this type. Enable it
unconditionally, like we already do for -Wold-style-definition.

Signed-off-by: Simon Marchi <email address hidden>
Signed-off-by: Jérémie Galarneau <email address hidden>
Change-Id: I145ceedb977d1d60a094f598ecae56930c742c4c

4182. By Francis Deslauriers <email address hidden> on 2020-07-16

Cleanup: flt.lttng-utils.debug-info: indentation fixes

Signed-off-by: Francis Deslauriers <email address hidden>
Signed-off-by: Jérémie Galarneau <email address hidden>
Change-Id: If177e044acc85672b18fb88d06af3296516057e4

4181. By Francis Deslauriers <email address hidden> on 2020-07-16

Cleanup: src.ctf.lttng-live: missing space in debug statement

Signed-off-by: Francis Deslauriers <email address hidden>
Signed-off-by: Jérémie Galarneau <email address hidden>
Change-Id: I2bb8477aaad8ce6ee8d17b9c315fc34bc05ce577

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers