| 1 | --- metadata |
| 2 | /* CTF 1.8 */ |
| 3 | |
| 4 | typealias integer { size = 8; align = 8; signed = false; } := uint8_t; |
| 5 | |
| 6 | trace { |
| 7 | major = 1; |
| 8 | minor = 8; |
| 9 | byte_order = le; |
| 10 | }; |
| 11 | |
| 12 | clock { |
| 13 | name = cycle_counter_test; |
| 14 | uuid = "5b59e7db-5e49-418a-9adf-e1adfdf571c4"; |
| 15 | freq = 1000000000; |
| 16 | }; |
| 17 | |
| 18 | typealias integer { size = 8; align = 8; signed = false; map = clock.cycle_counter_test.value; } := cc_count_t; |
| 19 | |
| 20 | struct packet_context { |
| 21 | cc_count_t timestamp_begin; |
| 22 | cc_count_t timestamp_end; |
| 23 | uint8_t content_size; |
| 24 | uint8_t packet_size; |
| 25 | }; |
| 26 | |
| 27 | struct event_header { |
| 28 | uint8_t id; |
| 29 | cc_count_t timestamp; |
| 30 | }; |
| 31 | |
| 32 | stream { |
| 33 | event.header := struct event_header; |
| 34 | packet.context := struct packet_context; |
| 35 | }; |
| 36 | |
| 37 | event { |
| 38 | name = "second_trace_event"; |
| 39 | id = 0; |
| 40 | fields := struct { |
| 41 | uint8_t value; |
| 42 | }; |
| 43 | }; |
| 44 | |
| 45 | --- second_trace_stream_0 |
| 46 | !macro packet(ts_beg, event_id) |
| 47 | <beg> |
| 48 | [ ts_beg : 8] # timestamp begin |
| 49 | [ ts_beg + 1 : 8] # timestamp end |
| 50 | [8 * (end - beg) : 8] # content size in bits |
| 51 | [8 * (end - beg) : 8] # packet size in bits |
| 52 | |
| 53 | [ event_id : 8] # event id |
| 54 | [ ts_beg : 8] # timestamp |
| 55 | [ 123 : 8] # value field |
| 56 | <end> |
| 57 | !end |
| 58 | |
| 59 | { p1_s0_ts = 110 } |
| 60 | { p2_s0_ts = 120 } |
| 61 | |
| 62 | <p1_s0> |
| 63 | m:packet(p1_s0_ts, 0) |
| 64 | <p1_s0_end> |
| 65 | |
| 66 | <p2_s0> |
| 67 | m:packet(p2_s0_ts, 0) |
| 68 | <p2_s0_end> |
| 69 | |
| 70 | --- index/second_trace_stream_0.idx |
| 71 | !be |
| 72 | |
| 73 | [0xC1F1DCC1 : 32] # Magic number |
| 74 | [ 1 : 32] # Major |
| 75 | [ 0 : 32] # Minor |
| 76 | [ 56 : 32] # Index entry size (56 bytes) |
| 77 | |
| 78 | # Packet 1 |
| 79 | !macro entry(beg_label, end_label, ts_beg) |
| 80 | [ beg_label : 64] # offset in bytes |
| 81 | [8 * (end_label - beg_label) : 64] # total size in bits |
| 82 | [8 * (end_label - beg_label) : 64] # content size in bits |
| 83 | [ ts_beg : 64] # timestamp begin |
| 84 | [ ts_beg + 1 : 64] # timestamp end |
| 85 | [ 0 : 64] # events discarded |
| 86 | [ 0 : 64] # stream class id |
| 87 | !end |
| 88 | |
| 89 | m:entry(p1_s0, p1_s0_end, p1_s0_ts) |
| 90 | m:entry(p2_s0, p2_s0_end, p2_s0_ts) |