Adapt `src.ctf.lttng-live` to current API
A `src.ctf.lttng-live` component now ensures the monotonic ordering of
the timestamps its outgoing messages. The component can receive messages
from multiples viewer session (UST 64bit, UST 32bit and/or Kernel) that
in turn may contain one or more traces that in turn may contain one or
more streams of messages. Messages from all these streams have to be
ordered into a single flow of messages where every message has a
timestamp equal or larger than the previous one.. This muxing is done by
tracking the next message of each of the live stream iterator and
returning the message with the smallest timestamp.
The live viewer sessions and everything required to get data and
metadata from the LTTng Relay daemon are now owned by the message
iterator and not the component as it was before.
Parameters
==========
The `url` mandatory string parameter controls the URL of the LTTng Relay
Daemon to which the component should register to received traces.
The `session-not-found-action` optional string parameter controls the
behavior of the component in case the requested session is not
configured on the LTTng Relay Daemon. The three accepted value of this
parameter are: "continue", "fail", and "end".
continue: The message iterator will try to connect (or reconnect) to
the requested session for ever.
fail: The message iterator will return an ERROR status if the session
is not available at the message iterator initialization stage and
return END status when the session is no longer available.
end: The message iterator always returns END status if the session is
not found or is no longer available.
The `session-not-found-action` defaults to "continue" if not specified.
Future improvement
==================
Using a priority queue to order the messages would speed up the muxing
of messages.
Known limitation
================
If a new live stream iterator returns a message that has a timestamp
smaller (that happened before) than the last message forwarded
downstream but the `src.ctf.lttng-live` message iterator. The message
iterator will return with an error status. I am not sure if this
situation can happen in a single host configuration (which is the only
supported configuration).
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
12 files changed:
This page took 0.027347 seconds and 4 git commands to generate.