X-Git-Url: http://git.efficios.com/?p=ctf.git;a=blobdiff_plain;f=common-trace-format-proposal.txt;h=8182ea991f7da92d49b2a35e193ec91213d62762;hp=35c1e71b4c662abdfb509149c2a7ca73ade1ef27;hb=37b39e474c20f68d8e9321b2cd8f296488bf59f5;hpb=fc5425db034be38066e03078c3e0f3b745a7dfa2 diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index 35c1e71..8182ea9 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -597,6 +597,17 @@ trace { packet.header := struct event_packet_header; }; +If a packet header lacks the "magic" number field, the trace endianness +needs to be specified in the trace "endian" metadata attribute. + +If the trace_uuid is not present, no validation that the metadata +actually corresponds to the stream is performed. + +If the stream_id packet header field is missing, the trace can only +contain a single stream. Its "id" field can be left out, and its events +don't need to declare a "stream_id" field. + + 5.2 Event Packet Context Description Event packet context example. These are declared within the stream declaration @@ -888,12 +899,17 @@ readable by accessing the upper dynamic scopes. The grammar representing the TSDL metadata is presented in Appendix C. TSDL Grammar. This section presents a rather ligher reading that -consists in examples of TSDL metadata, with template values: +consists in examples of TSDL metadata, with template values. + +Note that the trace endianness is usually extracted from the packet +header magic number. The "endian" field is only needed when the magic +number packet header field is not present. trace { major = value; /* Trace format version */ minor = value; uuid = "aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"; /* Trace UUID */ + endian = big OR little; /* Endianness (optional) */ packet.header := struct { uint32_t magic; uint8_t trace_uuid[16];