Add support for discarded events on packet close
[deliverable/barectf.git] / doc / examples / simple / ctf / metadata
1 /* CTF 1.8 */
2
3 typealias integer {size = 8; align = 8;} := uint8_t;
4 typealias integer {size = 16; align = 16;} := uint16_t;
5 typealias integer {size = 32; align = 32;} := uint32_t;
6 typealias integer {size = 64; align = 64;} := uint64_t;
7 typealias integer {size = 8; align = 8; signed = true;} := int8_t;
8 typealias integer {size = 16; align = 16; signed = true;} := int16_t;
9 typealias integer {size = 32; align = 32; signed = true;} := int32_t;
10 typealias integer {size = 64; align = 64; signed = true;} := int64_t;
11
12 typealias floating_point {
13 exp_dig = 8;
14 mant_dig = 24;
15 align = 32;
16 } := float;
17
18 typealias floating_point {
19 exp_dig = 11;
20 mant_dig = 53;
21 align = 64;
22 } := double;
23
24 trace {
25 major = 1;
26 minor = 8;
27 byte_order = le;
28
29 packet.header := struct {
30 uint32_t magic;
31 uint32_t stream_id;
32 };
33 };
34
35 env {
36 domain = "bare";
37 tracer_name = "barectf";
38 tracer_major = 0;
39 tracer_minor = 1;
40 tracer_patchlevel = 0;
41 };
42
43 clock {
44 name = my_clock;
45 freq = 1000000000;
46 offset = 0;
47 };
48
49 typealias integer {
50 size = 64;
51 map = clock.my_clock.value;
52 } := my_clock_int_t;
53
54 stream {
55 id = 0;
56
57 packet.context := struct {
58 my_clock_int_t timestamp_begin;
59 my_clock_int_t timestamp_end;
60 uint64_t packet_size;
61 uint64_t content_size;
62 uint32_t events_discarded;
63 };
64
65 event.header := struct {
66 uint32_t id;
67 my_clock_int_t timestamp;
68 };
69 };
70
71 /* an event with a simple 32-bit unsigned integer field */
72 event {
73 name = "simple_uint32";
74 id = 0;
75 stream_id = 0;
76
77 fields := struct {
78 uint32_t _value;
79 };
80 };
81
82 /* an event with a simple 16-bit signed integer field */
83 event {
84 name = "simple_int16";
85 id = 1;
86 stream_id = 0;
87
88 fields := struct {
89 int16_t _value;
90 };
91 };
92
93 /*
94 * An event with a simple IEEE 754 (see type alias above) single-precision
95 * floating point number.
96 */
97 event {
98 name = "simple_float";
99 id = 2;
100 stream_id = 0;
101
102 fields := struct {
103 float _value;
104 };
105 };
106
107 /* an event with a simple NULL-terminated string field */
108 event {
109 name = "simple_string";
110 id = 3;
111 stream_id = 0;
112
113 fields := struct {
114 string _value;
115 };
116 };
117
118 /* custom enumeration, of which the key is a 8-bit unsigned integer */
119 typealias enum : uint8_t {
120 NEW, /* 0 */
121 TERMINATED, /* 1 */
122 READY, /* 2 */
123 RUNNING, /* 3 */
124 WAITING, /* 4 */
125 } := state_t;
126
127 /* an event with a simple enumeration (see type alias above) field */
128 event {
129 name = "simple_enum";
130 id = 4;
131 stream_id = 0;
132
133 fields := struct {
134 state_t _state;
135 };
136 };
137
138 /* an event with a few fields */
139 event {
140 name = "a_few_fields";
141 id = 5;
142 stream_id = 0;
143
144 fields := struct {
145 int32_t _int32;
146 uint16_t _uint16;
147 double _double;
148 string _string;
149 state_t _state;
150 };
151 };
152
153 /* an event with bit-packed integer fields */
154 event {
155 name = "bit_packed_integers";
156 id = 6;
157 stream_id = 0;
158
159 fields := struct {
160 integer {size = 1;} _uint1;
161 integer {size = 1; signed = true;} _int1;
162 integer {size = 2;} _uint2;
163 integer {size = 3; signed = true;} _int3;
164 integer {size = 4;} _uint4;
165 integer {size = 5; signed = true;} _int5;
166 integer {size = 6;} _uint6;
167 integer {size = 7; signed = true;} _int7;
168 integer {size = 8; align = 1;} _uint8;
169 };
170 };
This page took 0.036457 seconds and 4 git commands to generate.