Commit | Line | Data |
---|---|---|
b7beee1d | 1 | /* CTF 1.8 */ |
71444c46 MD |
2 | trace { |
3 | major = 0; | |
4 | minor = 1; | |
5 | uuid = "f816d884-6cea-11e0-ac7a-8f5f4e9f7724"; | |
6 | byte_order = be; /* Assuming big endian streams */ | |
7 | }; | |
8 | ||
9 | /* Architecture with 32-bit pointers, 32-bit integers, 32-bit longs */ | |
10 | ||
11 | typealias integer { size = 32; align = 32; signed = false; } := uint32_t; | |
12 | typealias integer { size = 64; align = 64; signed = false; } := uint64_t; | |
13 | typealias integer { size = 32; align = 32; signed = false; } := void *; | |
14 | ||
15 | stream { | |
16 | event.header := struct { | |
17 | uint32_t id; | |
18 | uint64_t timestamp; | |
19 | }; | |
20 | event.context := struct { /* | |
21 | uint32_t thread_id; * This context belongs to all | |
22 | void *func_called; * events in this stream. | |
23 | void *called_from; */ | |
24 | uint32_t event_count; /* for debug */ | |
25 | }; | |
26 | }; | |
27 | ||
28 | /* | |
29 | * All events have empty context/fields, because their field layout is | |
30 | * replicated for all events of the stream (in this particular trace | |
31 | * layout). See ctf-embedded-2.txt for a more compact layout. | |
32 | */ | |
33 | ||
34 | event { name = invalid; id = 0; }; | |
35 | event { name = func_enter; id = 1; }; | |
36 | event { name = func_exit; id = 2; }; | |
37 | ||
38 | event { | |
39 | name = timer_tick; /* or sync_point... */ | |
40 | id = 3; | |
41 | fields := { | |
42 | uint64_t monotonic_value; | |
43 | uint64_t tsc_value; | |
44 | uint32_t seqnum; | |
45 | }; | |
46 | }; | |
47 | ||
48 | event { | |
49 | name = freq_change; | |
50 | id = 4; | |
51 | fields := { | |
52 | uint64_t new_freq; | |
53 | }; | |
54 | } | |
55 | ||
56 | clock { | |
57 | name = monotonic; | |
58 | uuid = ; | |
59 | }; | |
60 | ||
61 | clock { | |
62 | name = seqnum; | |
63 | uuid = ; | |
64 | }; | |
65 | ||
66 | clock { | |
67 | name = tsc; | |
68 | sync_points = { | |
69 | map { | |
70 | parent.clock = monotonic; | |
71 | parent.value = event.timer_tick.monotonic_value; | |
72 | value = event.timer_tick.tsc_value; | |
73 | }; | |
74 | map { | |
75 | parent.clock = seqnum; | |
76 | parent.value = event.timer_tick.seqnum; | |
77 | value = event.timer_tick.tsc_value; | |
78 | }; | |
79 | }; | |
80 | ||
81 | freq = { | |
82 | update = event.freq_change.new_freq; | |
83 | }; | |
84 | uuid = ; | |
85 | }; |