|BABELTRACE2-SINK.(7)||Babeltrace 2 manual||BABELTRACE2-SINK.(7)|
babeltrace2-sink.ctf.fs - Babeltrace 2's file system CTF sink component class
A Babeltrace 2 sink.ctf.fs component writes the messages it consumes to one or more CTF (see <https://diamon.org/ctf/>) 1.8 traces on the file system.
| sink.ctf.fs |
| +--> CTF trace(s) on Messages -->@ in | the file system
See babeltrace2-intro(7) to learn more about the Babeltrace 2 project and its core concepts.
A sink.ctf.fs component does not merge traces: it writes the messages of different input traces to different output traces.
Special trace IR to CTF translations¶
A sink.ctf.fs component makes a best effort to write CTF traces that are semantically equivalent to the input traces. As of this version, the component writes CTF 1.8 traces, so the following field class translations can occur:
The unsigned integer field’s value is 0 when the boolean field’s value is false and 1 when the boolean field’s value is true.
The empty structure field is selected when the option field has no field.
In all the cases above, the component adds a comment in the metadata stream, above the field class, to indicate that a special translation occurred.
Input message constraints¶
Because of limitations in CTF 1.8 regarding how discarded events and packets are encoded:
The messages which a source.ctf.fs component creates satisfy all the requirements above.
If a discarded events or packets message has no events/packets count, the sink.ctf.fs component adds 1 to the corresponding CTF stream’s counter.
Alignment and byte order¶
A sink.ctf.fs component always aligns data fields as such:
Integer fields with a size which is not a multiple of 8
All other scalar fields (integer, enumeration, real, string)
The component writes fields using the machine’s native byte order. As of this version, there’s no way to force a custom byte order.
The path of a CTF trace is the directory which directly contains the metadata and data stream files.
The current strategy to build a path in which to write the streams of a given input trace is, in this order:
Linux kernel domain
User space domain, per-UID buffering
User space domain, per-PID buffering
The trace name sanitization operation:
In all the cases above, if the effective output trace path already exists on the file system, the component appends a numeric suffix to the name of the last subdirectory. The suffix starts at 0 and increments until the path does not exist.
assume-single-trace=yes [optional boolean]
This parameter affects how the component builds the output trace path (see “Output path”).
ignore-discarded-events=yes [optional boolean]
ignore-discarded-packets=yes [optional boolean]
See “Output path” to learn how the component uses this parameter to build the output path for a given input trace.
quiet=yes [optional boolean]
+-------------+ | sink.ctf.fs | | | @ in | +-------------+
If you encounter any issue or usability problem, please report it on the Babeltrace bug tracker (see <https://bugs.lttng.org/projects/babeltrace>).
The Babeltrace project shares some communication channels with the LTTng project (see <https://lttng.org/>).
The Babeltrace 2 project is the result of hard work by many regular developers and occasional contributors.
The current project maintainer is Jérémie Galarneau <mailto:firstname.lastname@example.org>.
This component class is part of the Babeltrace 2 project.
Babeltrace is distributed under the MIT license (see <https://opensource.org/licenses/MIT>).
|14 September 2019||Babeltrace 2.0.4|