X-Git-Url: http://git.efficios.com/?p=ctf.git;a=blobdiff_plain;f=common-trace-format-proposal.txt;h=0daac2adccfa4115a91f0576f0402f5c31be3157;hp=2311fb0e9ea0e0724912b2c6405daad334876e9a;hb=77a98c82d80ca2d562e29c32380feeffdcd6f4c2;hpb=fcba70d4957370d549ae4d72a6a7fec99df2ac21 diff --git a/common-trace-format-proposal.txt b/common-trace-format-proposal.txt index 2311fb0..0daac2a 100644 --- a/common-trace-format-proposal.txt +++ b/common-trace-format-proposal.txt @@ -335,7 +335,7 @@ struct { ... } -4.2.2 Variants (Discriminated Unions) +4.2.2 Variants (Discriminated/Tagged Unions) A CTF variant is a selection between different types. A CTF variant must always be defined within the scope of a structure or within fields contained within a @@ -393,7 +393,7 @@ variant example { struct { enum { a, b, c } choice; - variant example u[unsigned int]; + variant example v[unsigned int]; } Example of an unnamed variant: @@ -421,7 +421,7 @@ struct { uint32_t a; uint64_t b; short c; - } u[10]; + } v[10]; } Example of a variant type definition within a structure, where the defined type @@ -771,7 +771,8 @@ and trace UUID. The metadata can be parsed by reading through the metadata strings, skipping newlines and null-characters. Type names are made of a single identifier, and can be surrounded by prefix/postfix. Text contained within "/*" and "*/", as -well as within "//" and end of line, are treated as comments. +well as within "//" and end of line, are treated as comments. Boolean values can +be represented as true, TRUE, or 1 for true, and false, FALSE, or 0 for false. The grammar representing the CTF metadata is presented in Appendix C. CTF Metadata Grammar. @@ -785,18 +786,13 @@ trace { stream { id = stream_id; - event { - header_alignment = value; - /* Type 1 - Few event IDs; Type 2 - Many event IDs. See section 6.2. */ - header = event_header_1 OR event_header_2; - context = struct { - ... - }; + /* Type 1 - Few event IDs; Type 2 - Many event IDs. See section 6.2. */ + event.header = event_header_1 OR event_header_2; + event.context = struct { + ... }; - packet { - context = struct { - ... - }; + packet.context = struct { + ... }; };