lib: remove CTF concepts of packet and event headers
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Tue, 11 Dec 2018 22:43:05 +0000 (17:43 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 3 May 2019 22:19:37 +0000 (18:19 -0400)
commit0476f6f71b064a98848e70b22f770578c44e6f1d
tree873e39107e4e784f530f5916fcf758b8315165b6
parentb7396828521cd67eed7f84f3ff8ffd707626e3be
lib: remove CTF concepts of packet and event headers

Packet and event headers are CTF concepts. In CTF 1.8, the fields in
those scopes are reserved for format encoding/decoding purposes, and
everything they mean has its equivalent property in trace IR objects.

I know no tracers producing CTF which put something else than the known
encoding fields in packet and event headers. Everything not related to
the trace format itself goes into context fields (except for a packet's
total and content sizes which are packet context fields), which are
still available as of this patch. This is so true that Mathieu Desnoyers
confirmed that CTF 2 should explicitly disallow anything else than
format-specific fields in header scopes. However, it might be ambiguous
in CTF v1.8.2, and someone somewhere could have put user fields in
there.

Therefore, for the moment, the `ctf` plugin does not copy the values of
packet and event header fields to trace IR fields. This could be done in
the future if we find that it's a limitation: for example, prefix header
fields with `ctf-header-` and put them into appropriate context fields
(packet context for packet header and event common context for event
header).

To make sure the user knows about non-CTF header fields being removed,
the `ctf` plugin prints a warning for each such field, for example:

    12-12 10:53:25.904 21954 21954 W
    PLUGIN-CTF-METADATA-META-WARN-MEANINGLESS-HEADER-FIELDS
    warn_meaningless_field@ctf-meta-warn-meaningless-header-fields.c:32
    User field found in packet header: ignoring: name="allo"

    12-12 10:53:25.904 21954 21954 W
    PLUGIN-CTF-METADATA-META-WARN-MEANINGLESS-HEADER-FIELDS
    warn_meaningless_field@ctf-meta-warn-meaningless-header-fields.c:32
    User field found in event header: ignoring: name="msg_id"

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
43 files changed:
include/Makefile.am
include/babeltrace/babeltrace.h
include/babeltrace/common-internal.h
include/babeltrace/trace-ir/event-const.h
include/babeltrace/trace-ir/event-header-field.h [deleted file]
include/babeltrace/trace-ir/event-internal.h
include/babeltrace/trace-ir/event.h
include/babeltrace/trace-ir/field-path-const.h
include/babeltrace/trace-ir/packet-const.h
include/babeltrace/trace-ir/packet-header-field.h [deleted file]
include/babeltrace/trace-ir/packet-internal.h
include/babeltrace/trace-ir/packet.h
include/babeltrace/trace-ir/resolve-field-path-internal.h
include/babeltrace/trace-ir/stream-class-const.h
include/babeltrace/trace-ir/stream-class-internal.h
include/babeltrace/trace-ir/stream-class.h
include/babeltrace/trace-ir/trace-class-const.h
include/babeltrace/trace-ir/trace-class-internal.h
include/babeltrace/trace-ir/trace-class.h
include/babeltrace/trace-ir/trace-internal.h
lib/lib-logging.c
lib/trace-ir/Makefile.am
lib/trace-ir/event-class.c
lib/trace-ir/event-header-field.c [deleted file]
lib/trace-ir/event.c
lib/trace-ir/packet-header-field.c [deleted file]
lib/trace-ir/packet.c
lib/trace-ir/resolve-field-path.c
lib/trace-ir/stream-class.c
lib/trace-ir/trace-class.c
lib/trace-ir/trace.c
plugins/ctf/common/metadata/Makefile.am
plugins/ctf/common/metadata/ctf-meta-resolve.c
plugins/ctf/common/metadata/ctf-meta-translate.c
plugins/ctf/common/metadata/ctf-meta-update-in-ir.c
plugins/ctf/common/metadata/ctf-meta-visitors.h
plugins/ctf/common/metadata/ctf-meta-warn-meaningless-header-fields.c [new file with mode: 0644]
plugins/ctf/common/metadata/ctf-meta.h
plugins/ctf/common/metadata/visitor-generate-ir.c
plugins/ctf/common/msg-iter/msg-iter.c
plugins/ctf/fs-src/data-stream-file.c
plugins/text/pretty/print.c
tests/lib/test_trace_ir_ref.c
This page took 0.029462 seconds and 4 git commands to generate.