Project

General

Profile

Feature #710

List event fields in the same order as the TP definition

Added by David Goulet almost 7 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
01/09/2014
Due date:
% Done:

0%

Estimated time:

Description

Considering this tracepoint definition taken from tests/hello/

TRACEPOINT_EVENT(ust_tests_hello, tptest,
    TP_ARGS(int, anint, int, netint, long *, values,
        char *, text, size_t, textlen,
        double, doublearg, float, floatarg,
        bool, boolarg),
    TP_FIELDS(
        ctf_integer(int, intfield, anint)
        ctf_integer_hex(int, intfield2, anint)
        ctf_integer(long, longfield, anint)
        ctf_integer_network(int, netintfield, netint)
        ctf_integer_network_hex(int, netintfieldhex, netint)
        ctf_array(long, arrfield1, values, 3)
        ctf_array_text(char, arrfield2, text, 10)
        ctf_sequence(char, seqfield1, text,
                 size_t, textlen)
        ctf_sequence_text(char, seqfield2, text,
                 size_t, textlen)
        ctf_string(stringfield, text)
        ctf_float(float, floatfield, floatarg)
        ctf_float(double, doublefield, doublearg)
        ctf_integer(bool, boolfield, boolarg)
        ctf_integer_nowrite(int, filterfield, anint)
    )
)

When listing fields with ustctl_tracepoint_field_list() and ustctl_tracepoint_field_list_get() (using for instance lttng list -u -f), the fields
are sent back in the reverse order starting at the bottom of TP_FIELDS().

      ust_tests_hello:tptest (loglevel: TRACE_DEBUG_LINE (13)) (type: tracepoint)
        field: filterfield (integer) [no write]
        field: boolfield (integer)
        field: doublefield (float)
        field: floatfield (float)
        field: stringfield (string)
        field: seqfield2 (string)
        field: seqfield1 (unknown)
        field: arrfield2 (string)
        field: arrfield1 (unknown)
        field: netintfieldhex (integer)
        field: netintfield (integer)
        field: longfield (integer)
        field: intfield2 (integer)
        field: intfield (integer)

No idea if it's stored in a list or in a hashtable but if possible having them listed in the same order could nice.


Related issues

Related to LTTng-tools - Bug #627: 'lttng list -u -f' behaves oddly when providers register different payloadsResolved09/05/2013

Actions

No data to display

Also available in: Atom PDF