lib: split trace API into trace class and trace APIs
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Fri, 7 Dec 2018 20:02:41 +0000 (15:02 -0500)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 2 May 2019 04:09:18 +0000 (00:09 -0400)
commit3b4c8c4337718252108994f0a3bdba0c8c65963b
treec6e3eb64ee413f28edefde107fe3c761f3946fe7
parent96ffdc460181984c548d8191bbc074df505cc379
lib: split trace API into trace class and trace APIs

This patch adds the _trace class_ object and its API, moving some trace
API functions to this one instead.

The trace object was the only one holding both metadata and data objects
(stream classes and streams, for example). To be more consistent, a
trace class now deals with metadata only (no streams, no static state)
and a trace with data only. A trace is an instance (data streams) of a
trace class: you can have many traces described by the same trace class.

You create a trace class with no parameters, while you create a trace
with an existing trace class.

Like for the trace object, the trace class API has both const and
non-const APIs.

Both a trace and a trace class can have a name (optional), just like
both a stream and a stream class can have a name, and so on. With this
patch, I chose to set the name of the trace object in both src.ctf.fs
and src.text.dmesg, and to display the trace object's name in
sink.text.pretty.

Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
47 files changed:
include/Makefile.am
include/babeltrace/babeltrace.h
include/babeltrace/lib-logging-internal.h
include/babeltrace/trace-ir/event-internal.h
include/babeltrace/trace-ir/field-classes-internal.h
include/babeltrace/trace-ir/packet-header-field.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/stream-const.h
include/babeltrace/trace-ir/stream-internal.h
include/babeltrace/trace-ir/stream.h
include/babeltrace/trace-ir/trace-class-const.h [new file with mode: 0644]
include/babeltrace/trace-ir/trace-class-internal.h [new file with mode: 0644]
include/babeltrace/trace-ir/trace-class.h [new file with mode: 0644]
include/babeltrace/trace-ir/trace-const.h
include/babeltrace/trace-ir/trace-internal.h
include/babeltrace/trace-ir/trace.h
lib/graph/notification/event.c
lib/lib-logging.c
lib/trace-ir/Makefile.am
lib/trace-ir/event-class.c
lib/trace-ir/event-header-field.c
lib/trace-ir/field-classes.c
lib/trace-ir/packet-context-field.c
lib/trace-ir/packet-header-field.c
lib/trace-ir/packet.c
lib/trace-ir/stream-class.c
lib/trace-ir/stream.c
lib/trace-ir/trace-class.c [new file with mode: 0644]
lib/trace-ir/trace.c
plugins/ctf/common/metadata/ast.h
plugins/ctf/common/metadata/ctf-meta-translate.c
plugins/ctf/common/metadata/ctf-meta-visitors.h
plugins/ctf/common/metadata/ctf-meta.h
plugins/ctf/common/metadata/decoder.c
plugins/ctf/common/metadata/decoder.h
plugins/ctf/common/metadata/visitor-generate-ir.c
plugins/ctf/common/notif-iter/notif-iter.c
plugins/ctf/fs-src/fs.c
plugins/ctf/fs-src/fs.h
plugins/ctf/fs-src/metadata.c
plugins/ctf/fs-src/metadata.h
plugins/text/dmesg/dmesg.c
plugins/text/pretty/print.c
tests/lib/test_bt_notification_iterator.c
tests/lib/test_trace_ir_ref.c
This page took 0.033008 seconds and 5 git commands to generate.