• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Sequence 1 defaults to track for "t1" and extra_counter_values for "c1".
2packet {
3  trusted_packet_sequence_id: 1
4  timestamp: 0
5  incremental_state_cleared: true
6  track_descriptor {
7    uuid: 1
8    parent_uuid: 3
9    thread {
10      pid: 5
11      tid: 1
12      thread_name: "t1"
13    }
14  }
15  trace_packet_defaults {
16    track_event_defaults {
17      track_uuid: 1
18      extra_counter_track_uuids: 10  # Counter "c1", defined below.
19    }
20  }
21}
22
23# Process track for the thread.
24packet {
25  trusted_packet_sequence_id: 1
26  timestamp: 0
27  track_descriptor {
28    uuid: 3
29    process {
30      pid: 5
31      process_name: "p1"
32    }
33  }
34}
35
36# Counter track "c1", a thread-scoped counter for "t1".
37packet {
38  trusted_packet_sequence_id: 1
39  timestamp: 0
40  track_descriptor {
41    uuid: 10
42    parent_uuid: 1
43    counter {
44      type: 1                # COUNTER_THREAD_TIME_NS.
45      unit_multiplier: 1000  # provided in ys.
46      is_incremental: true   # use delta encoding.
47    }
48  }
49}
50
51# Sequence 2 has no defaults. Define a new global counter "MySizeCounter".
52packet {
53  trusted_packet_sequence_id: 2
54  timestamp: 0
55  incremental_state_cleared: true
56  track_descriptor {
57    uuid: 11
58    name: "MySizeCounter"
59    counter {
60      unit: 3  # UNIT_SIZE_BYTES.
61    }
62  }
63}
64
65# Should appear on default track "t1" with extra_counter_values for "c1".
66packet {
67  trusted_packet_sequence_id: 1
68  sequence_flags: 2  # SEQ_NEEDS_INCREMENTAL_STATE
69  timestamp: 1000
70  track_event {
71    categories: "cat"
72    name: "event1_on_t1"
73    type: 1                     # TYPE_SLICE_BEGIN.
74    extra_counter_values: 1000  # First value, so effectively absolute.
75  }
76}
77
78# End for event above.
79packet {
80  trusted_packet_sequence_id: 1
81  sequence_flags: 2  # SEQ_NEEDS_INCREMENTAL_STATE
82  timestamp: 1100
83  track_event {
84    type: 2                   # TYPE_SLICE_END.
85    extra_counter_values: 10  # Absolute: 1010.
86  }
87}
88
89# Resetting incremental state on sequence 1 will restart counter at 0.
90packet {
91  trusted_packet_sequence_id: 1
92  timestamp: 2000
93  incremental_state_cleared: true
94  track_descriptor {
95    uuid: 1
96    parent_uuid: 3
97    thread {
98      pid: 5
99      tid: 1
100      thread_name: "t1"
101    }
102  }
103  trace_packet_defaults {
104    track_event_defaults {
105      track_uuid: 1
106      extra_counter_track_uuids: 10  # Counter "c1", defined below.
107    }
108  }
109}
110
111# Reemit process track for the thread.
112packet {
113  trusted_packet_sequence_id: 1
114  timestamp: 2000
115  track_descriptor {
116    uuid: 3
117    process {
118      pid: 5
119      process_name: "p1"
120    }
121  }
122}
123
124# Reemit counter descriptor, too.
125packet {
126  trusted_packet_sequence_id: 1
127  timestamp: 2000
128  track_descriptor {
129    uuid: 10
130    parent_uuid: 1
131    counter {
132      type: 1                # COUNTER_THREAD_TIME_NS.
133      unit_multiplier: 1000  # provided in ys.
134      is_incremental: true   # use delta encoding.
135    }
136  }
137}
138
139# Should appear on default track "t1" with extra_counter_values for "c1".
140packet {
141  trusted_packet_sequence_id: 1
142  sequence_flags: 2  # SEQ_NEEDS_INCREMENTAL_STATE
143  timestamp: 2000
144  track_event {
145    categories: "cat"
146    name: "event2_on_t1"
147    type: 1                     # TYPE_SLICE_BEGIN.
148    extra_counter_values: 2000  # First value after reset, so absolute.
149  }
150}
151
152# End for event above.
153packet {
154  trusted_packet_sequence_id: 1
155  sequence_flags: 2  # SEQ_NEEDS_INCREMENTAL_STATE
156  timestamp: 2200
157  track_event {
158    type: 2                   # TYPE_SLICE_END.
159    extra_counter_values: 10  # Absolute: 2010.
160  }
161}
162
163# Counter type event for "MySizeCounter" on sequence 1.
164packet {
165  trusted_packet_sequence_id: 1
166  timestamp: 3000
167  track_event {
168    track_uuid: 11       # "MySizeCounter".
169    type: 4              # TYPE_COUNTER.
170    counter_value: 1024  # Absolute.
171  }
172}
173
174# Counter type event for "MySizeCounter" on sequence 2.
175packet {
176  trusted_packet_sequence_id: 2
177  timestamp: 3100
178  track_event {
179    track_uuid: 11       # "MySizeCounter".
180    type: 4              # TYPE_COUNTER.
181    counter_value: 2048  # Absolute.
182  }
183}
184
185# Override the default extra_counter_values.
186packet {
187  trusted_packet_sequence_id: 1
188  sequence_flags: 2  # SEQ_NEEDS_INCREMENTAL_STATE
189  timestamp: 4000
190  track_event {
191    categories: "cat"
192    name: "event3_on_t1"
193    type: 3                        # TYPE_INSTANT.
194    extra_counter_track_uuids: 10  # "c1".
195    extra_counter_track_uuids: 11  # "MySizeCounter".
196    extra_counter_values: 10       # Absolute: 2020.
197    extra_counter_values: 1024     # Absolute: 2020.
198  }
199}
200
201# Sequence 3 defaults to track for "t4" and uses legacy thread time and
202# instruction count.
203packet {
204  trusted_packet_sequence_id: 3
205  timestamp: 0
206  incremental_state_cleared: true
207  track_descriptor {
208    uuid: 4
209    parent_uuid: 3
210    thread {
211      pid: 5
212      tid: 4
213      thread_name: "t4"
214    }
215  }
216  trace_packet_defaults {
217    track_event_defaults {
218      track_uuid: 4
219    }
220  }
221}
222
223packet {
224  trusted_packet_sequence_id: 3
225  timestamp: 4000
226  track_event {
227    categories: "cat"
228    name: "event1_on_t3"
229    type: 1                        # TYPE_SLICE_BEGIN.
230    thread_time_absolute_us: 10
231    thread_instruction_count_absolute: 20
232  }
233}
234
235packet {
236  trusted_packet_sequence_id: 3
237  timestamp: 4100
238  track_event {
239    categories: "cat"
240    name: "event1_on_t3"
241    type: 2                        # TYPE_SLICE_END.
242    thread_time_absolute_us: 15
243    thread_instruction_count_absolute: 25
244  }
245}
246