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