|
NAME | DESCRIPTION | INITIALIZATION PARAMETERS | PORTS | QUERY OBJECTS | ENVIRONMENT VARIABLES | BUGS | RESOURCES | AUTHORS | COPYRIGHT | SEE ALSO | COLOPHON |
|
BABELTRACE-SOURCE(7) Babeltrace manual BABELTRACE-SOURCE(7)
babeltrace-source.ctf.fs - Babeltrace's file system CTF source
component class
The Babeltrace source.ctf.fs component class, provided by the
babeltrace-plugin-ctf(7) plugin, once instantiated, opens one or more
CTF (see <http://diamon.org/ctf/>) traces on the file system and
emits the notifications of their data streams on its output ports.
Operation
A source.ctf.fs component recurses the directory given by the path
parameter to find CTF traces. Note that, since a CTF trace directory
cannot contain another CTF trace, if you need to open a single trace,
set the path parameter to a directory which directly contains the
metadata file.
For each trace, the component creates one output port per effective
data stream. Multiple data stream files can constitute a single
effective data stream. The name of a data stream output port is the
absolute path to the corresponding data stream file, or to one of the
corresponding data stream files if there’s more than one.
The component skips the following files when looking for data stream
files:
· Any file which starts with ., including subdirectories.
· Any non-regular file.
Trace naming
A source.ctf.fs component names each trace [HOSTNAME/]PATH, with:
HOSTNAME
Value of the trace’s hostname environment constant. If this
environment constant does not exist, or if its value is not a
string, then this part is omitted.
PATH
Relative path to the trace, starting at and including the
basename of the path parameter. This path is normalized, that is,
it doesn’t contain path elements named .. or ..
For example, assume the following hierarchy:
/
home/
user/
my-traces/
trace1/
metadata
...
node-traces/
server/
metadata
...
client/
metadata
...
If you set the path parameter to /home/user/my-traces, and assuming
the hostname of the trace1 and server traces is machine, and the
hostname of the client trace is embedded, then the trace names are:
· machine/my-traces/trace1
· machine/my-traces/node-traces/server
· embedded/my-traces/node-traces/client
Metadata quirks
A source.ctf.fs component makes some efforts to support as many CTF
traces as possible, even those of which the metadata is malformed or
implements specification bugs.
In particular:
· If the component detects that the trace was produced by LTTng, it
sets the monotonic clock class as absolute so that different
LTTng traces are directly correlatable. An LTTng trace has its
tracer_name environment constant starting with lttng.
· If the timestamp_begin or timestamp_end packet context field type
exists, but it is not mapped to a clock class, and there’s only
one clock class at this point in the metadata stream, the
component maps it to this unique clock class.
· If an enumeration field type’s label starts with _, the component
removes the starting _ character. This is needed to accomodate an
eventual variant field type which refers to the enumeration field
type as its tag and which has equivalent choice names also
starting with _ (the _ must be removed from field and choice
names as per CTF 1.8.2).
The following parameters are optional unless indicated otherwise.
clock-class-offset-ns (integer)
Value to add, in nanoseconds, to the offset of all the clock
classes that the component creates.
You can combine this parameter with the clock-class-offset-s
parameter.
clock-class-offset-s (integer)
Value to add, in seconds, to the offset of all the clock classes
that the component creates.
You can combine this parameter with the clock-class-offset-ns
parameter.
path=PATH (string, mandatory)
Path to the directory to recurse for CTF traces.
Output
For each opened trace, the component creates one output port for each
effective data stream. The name of a data stream output port is the
normalized (no .. or . elements) absolute path to the corresponding
data stream file, or to one of the corresponding data stream files if
there’s more than one.
metadata-info
You can query the metadata-info object for a specific CTF trace to
get its plain text metadata stream as well as whether or not it is
packetized.
Parameters:
path (string, mandatory)
Path to the CTF trace directory which contains the metadata file.
Returned object (map):
text (string)
Plain text metadata.
is-packetized (boolean)
True if the metadata stream is packetized.
trace-info
You can query the trace-info object for a set of CTF traces to get
information about the data streams they contain, their intersection
time range, and more.
This query object requires that the processed CTF traces have the
timestamp_begin and timestamp_end fields in their packet context
field types.
Parameters:
path (string, mandatory)
Path to a directory to recurse to find CTF traces.
Returned object (array of maps, one element for each found trace):
name (string)
Trace name, as per the explanations in the Trace naming section.
path (string)
Trace path.
range-ns (map)
Full time range of the trace.
begin (integer)
Beginning time (ns since Epoch) of the trace.
end (integer)
End time (ns since Epoch) of the trace.
intersection-range-ns (map)
This entry only exists if there is a data stream intersection
range.
begin (integer)
Beginning time (ns since Epoch) of the trace’s data stream
intersection.
end (integer)
End time (ns since Epoch) of the trace’s data stream
intersection.
streams (array of maps, one element for each trace’s effective data
stream)
paths (array of strings)
Absolute paths to the data stream files which are part of
this data stream.
class-id (integer)
Numeric ID of the data stream’s class.
range-ns (map)
Full time range of the data stream.
begin (integer)
Beginning time (ns since Epoch) of the data stream.
end (integer)
End time (ns since Epoch) of the data stream.
ctf plugin
BABELTRACE_PLUGIN_CTF_BTR_LOG_LEVEL
Binary type reader’s log level. The available values are the same
as for the --log-level option of babeltrace(1).
BABELTRACE_PLUGIN_CTF_METADATA_LOG_LEVEL
Metadata decoder’s log level. The available values are the same
as for the --log-level option of babeltrace(1).
BABELTRACE_PLUGIN_CTF_NOTIF_ITER_LOG_LEVEL
Notification iterator’s log level. The available values are the
same as for the --log-level option of babeltrace(1).
Component class
BABELTRACE_COMMON_LOG_LEVEL
Common functions’s log level. The available values are the same
as for the --log-level option of babeltrace(1).
BABELTRACE_COMPAT_LOG_LEVEL
Compatibility functions’s log level. The available values are the
same as for the --log-level option of babeltrace(1).
BABELTRACE_TERM_COLOR
Force the terminal color support. The available values are:
AUTO
Only emit terminal color codes when the standard output and
error streams are connected to a color-capable terminal.
NEVER
Never emit terminal color codes.
ALWAYS
Always emit terminal color codes.
BABELTRACE_SRC_CTF_FS_LOG_LEVEL
Component class’s log level. The available values are the same as
for the --log-level option of babeltrace(1).
If you encounter any issue or usability problem, please report it on
the Babeltrace bug tracker (see
<https://bugs.linuxfoundation.org/buglist.cgi?product=Diamon&component=Babeltrace>).
The Babeltrace project shares some communication channels with the
LTTng project (see <http://lttng.org/>).
· Babeltrace website (see <http://diamon.org/babeltrace>)
· Git repository (see
<http://git.linuxfoundation.org/?p=diamon/babeltrace.git>)
· EfficiOS GitHub organization (see <http://github.com/efficios/>)
· Continuous integration (see
<https://ci.lttng.org/job/babeltrace_master_build/>)
· Mailing list (see <http://lists.lttng.org>) for support and
development: lttng-dev@lists.lttng.org
· IRC channel (see <irc://irc.oftc.net/lttng>): #lttng on
irc.oftc.net
The Babeltrace project is the result of efforts by many regular
developers and occasional contributors.
The current project maintainer is Jérémie Galarneau
<mailto:jeremie.galarneau@efficios.com>.
This component class is part of the Babeltrace project.
Babeltrace is distributed under the MIT license (see
<https://opensource.org/licenses/MIT>).
babeltrace-plugin-ctf(7), babeltrace-intro(7)
This page is part of the babeltrace (trace read and write libraries
and a trace converter) project. Information about the project can be
found at ⟨http://www.efficios.com/babeltrace⟩. If you have a bug
report for this manual page, send it to lttng-dev@lists.lttng.org.
This page was obtained from the project's upstream Git repository
⟨git://git.efficios.com/babeltrace.git⟩ on 2018-02-02. (At that
time, the date of the most recent commit that was found in the repos‐
itory was 2018-01-30.) If you discover any rendering problems in
this HTML version of the page, or you believe there is a better or
more up-to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not part
of the original manual page), send a mail to man-pages@man7.org
Babeltrace 2.0.0-pre4 5 October 2017 BABELTRACE-SOURCE(7)
Pages that refer to this page: babeltrace(1), babeltrace-convert(1), babeltrace-plugin-ctf(7)