babeltrace sometimes ignores changing metadata rendering hints
If I have an instrumented application that uses e.g.
ctf_integer for some payload field,
babeltrace will render that field using standard decimal notation. If another version of the application instead uses
ctf_integer_hex, the data stored in the trace does not change but the
metadata will hold a "hint" which will tell
babeltrace to render the field in hexadecimal notation. So far so good.
The bug I've run into with LTTng 2.3.0 and babeltrace 1.1.1 occurs within a single tracing session: if I run the
ctf_integer application and later run the
ctf_integer_hex application (same tracepoint provider name and event name),
babeltrace will not get the hexadecimal rendering hint for the later event records. Either the event's changing format isn't in the
babeltrace fails to look it up when processing the trace (so this either an
lttng bug or a
babeltrace bug). I strongly suspect the latter because the
metadata doubles in size when I run the changing
ctf_ scenario, compared with running either app twice.