Add support for discarded events on packet close
[deliverable/barectf.git] / doc / examples / simple / ctf / metadata
CommitLineData
ca3417e6
PP
1/* CTF 1.8 */
2
3typealias integer {size = 8; align = 8;} := uint8_t;
4typealias integer {size = 16; align = 16;} := uint16_t;
5typealias integer {size = 32; align = 32;} := uint32_t;
6typealias integer {size = 64; align = 64;} := uint64_t;
7typealias integer {size = 8; align = 8; signed = true;} := int8_t;
8typealias integer {size = 16; align = 16; signed = true;} := int16_t;
9typealias integer {size = 32; align = 32; signed = true;} := int32_t;
10typealias integer {size = 64; align = 64; signed = true;} := int64_t;
11
12typealias floating_point {
13 exp_dig = 8;
14 mant_dig = 24;
15 align = 32;
16} := float;
17
18typealias floating_point {
19 exp_dig = 11;
20 mant_dig = 53;
21 align = 64;
22} := double;
23
24trace {
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
35env {
36 domain = "bare";
37 tracer_name = "barectf";
38 tracer_major = 0;
39 tracer_minor = 1;
40 tracer_patchlevel = 0;
41};
42
43clock {
44 name = my_clock;
45 freq = 1000000000;
46 offset = 0;
47};
48
49typealias integer {
50 size = 64;
51 map = clock.my_clock.value;
52} := my_clock_int_t;
53
54stream {
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;
409386a4 62 uint32_t events_discarded;
ca3417e6
PP
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 */
72event {
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 */
83event {
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 */
97event {
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 */
108event {
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 */
119typealias 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 */
128event {
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 */
139event {
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 */
154event {
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.027595 seconds and 4 git commands to generate.