Commit | Line | Data |
---|---|---|
e11e382c FW |
1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <!-- *************************************************************************** | |
019e49cb FW |
3 | * Copyright (c) 2013 École Polytechnique de Montréal |
4 | * | |
5 | * All rights reserved. This program and the accompanying materials are | |
6 | * made available under the terms of the Eclipse Public License v1.0 which | |
7 | * accompanies this distribution, and is available at | |
8 | * http://www.eclipse.org/legal/epl-v10.html | |
9 | * | |
10 | * Contributors: | |
d5efe032 | 11 | * Florian Wininger - Initial API and implementation |
019e49cb | 12 | *************************************************************************** --> |
e11e382c | 13 | <tmfxml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
d5efe032 | 14 | xsi:noNamespaceSchemaLocation="xmlDefinition.xsd"> |
e11e382c | 15 | |
d5efe032 AF |
16 | <timeGraphView id="org.eclipse.linuxtools.tmf.analysis.xml.ui.views.statesystem"> |
17 | <head> | |
18 | <analysis id="kernel.linux.sp" /> | |
19 | <label value="Xml Sample Kernel View" /> | |
20 | </head> | |
21 | <!-- StateValues --> | |
22 | <definedValue name="PROCESS_STATUS_UNKNOWN" value="0" color="#EEEEEE" /> | |
23 | <definedValue name="PROCESS_STATUS_WAIT_BLOCKED" value="1" color="#CCCCCC" /> | |
24 | <definedValue name="PROCESS_STATUS_RUN_USERMODE" value="2" color="#118811" /> | |
25 | <definedValue name="PROCESS_STATUS_RUN_SYSCALL" value="3" color="#0000EE" /> | |
26 | <definedValue name="PROCESS_STATUS_INTERRUPTED" value="4" color="#DDDD00" /> | |
27 | <definedValue name="PROCESS_STATUS_WAIT_FOR_CPU" value="5" color="#AA0000" /> | |
6b5218d0 | 28 | |
d5efe032 AF |
29 | <!-- Control Flow View --> |
30 | <entry path="CPUs/*"> | |
31 | <display type="constant" value="Status" /> | |
32 | <parent type="constant" value="PPID" /> | |
33 | <name type="constant" value="Exec_name" /> | |
34 | </entry> | |
35 | <entry path="Threads"> | |
36 | <display type="self" /> | |
37 | <entry path="*"> | |
38 | <display type="constant" value="Status" /> | |
39 | <parent type="constant" value="PPID" /> | |
40 | <name type="constant" value="Exec_name" /> | |
41 | </entry> | |
42 | </entry> | |
43 | </timeGraphView> | |
6b5218d0 | 44 | |
d5efe032 AF |
45 | <stateProvider id="kernel.linux.sp" version="1"> |
46 | <head> | |
47 | <traceType id="org.eclipse.linuxtools.lttng2.kernel.tracetype" /> | |
48 | <label value="Xml kernel State System" /> | |
49 | </head> | |
50 | <!-- StateValues --> | |
51 | <definedValue name="CPU_STATUS_IDLE" value="0" /> | |
52 | <definedValue name="CPU_STATUS_RUN_USERMODE" value="1" /> | |
53 | <definedValue name="CPU_STATUS_RUN_SYSCALL" value="2" /> | |
54 | <definedValue name="CPU_STATUS_IRQ" value="3" /> | |
55 | <definedValue name="CPU_STATUS_SOFTIRQ" value="4" /> | |
019e49cb | 56 | |
d5efe032 AF |
57 | <definedValue name="PROCESS_STATUS_UNKNOWN" value="0" /> |
58 | <definedValue name="PROCESS_STATUS_WAIT_BLOCKED" value="1" /> | |
59 | <definedValue name="PROCESS_STATUS_RUN_USERMODE" value="2" /> | |
60 | <definedValue name="PROCESS_STATUS_RUN_SYSCALL" value="3" /> | |
61 | <definedValue name="PROCESS_STATUS_INTERRUPTED" value="4" /> | |
62 | <definedValue name="PROCESS_STATUS_WAIT_FOR_CPU" value="5" /> | |
019e49cb | 63 | |
d5efe032 | 64 | <definedValue name="SOFT_IRQ_RAISED" value="-2" /> |
019e49cb | 65 | |
d5efe032 AF |
66 | <!-- Shortcut Variables --> |
67 | <location id="CurrentThread"> | |
68 | <stateAttribute type="constant" value="Threads" /> | |
69 | <stateAttribute type="query"> | |
70 | <stateAttribute type="constant" value="CPUs" /> | |
71 | <stateAttribute type="eventField" value="cpu" /> | |
72 | <stateAttribute type="constant" value="Current_thread" /> | |
73 | </stateAttribute> | |
74 | </location> | |
75 | <location id="CurrentCPU"> | |
76 | <stateAttribute type="constant" value="CPUs" /> | |
77 | <stateAttribute type="eventField" value="cpu" /> | |
78 | </location> | |
79 | <location id="CurrentIRQ"> | |
80 | <stateAttribute type="constant" value="Resources"/> | |
81 | <stateAttribute type="constant" value="IRQs"/> | |
82 | <stateAttribute type="eventField" value="irq"/> | |
83 | </location> | |
84 | <location id="CurrentSoftIRQ"> | |
85 | <stateAttribute type="constant" value="Resources" /> | |
86 | <stateAttribute type="constant" value="Soft_IRQs" /> | |
87 | <stateAttribute type="eventField" value="vec" /> | |
88 | </location> | |
89 | <location id="newCurrentThread"> | |
90 | <stateAttribute type="constant" value="Threads" /> | |
91 | <stateAttribute type="eventField" value="next_tid" /> | |
92 | </location> | |
019e49cb | 93 | |
d5efe032 AF |
94 | <!-- case 1 : exit_syscall : Fields: int64 ret --> |
95 | <eventHandler eventName="exit_syscall"> | |
96 | <stateChange> | |
97 | <stateAttribute type="location" value="CurrentThread" /> | |
98 | <stateAttribute type="constant" value="System_call" /> | |
99 | <stateValue type="null" /> | |
100 | </stateChange> | |
101 | <stateChange> | |
102 | <stateAttribute type="location" value="CurrentThread" /> | |
103 | <stateAttribute type="constant" value="Status" /> | |
104 | <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" /> | |
105 | </stateChange> | |
106 | <stateChange> | |
107 | <stateAttribute type="location" value="CurrentCPU" /> | |
108 | <stateAttribute type="constant" value="Status" /> | |
109 | <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" /> | |
110 | </stateChange> | |
111 | </eventHandler> | |
112 | <!-- case 2 : irq_handler_entry : Fields: int32 irq, string name --> | |
113 | <eventHandler eventName="irq_handler_entry"> | |
114 | <stateChange> | |
115 | <stateAttribute type="location" value="CurrentIRQ" /> | |
116 | <stateValue type="eventField" value="cpu" /> | |
117 | </stateChange> | |
118 | <stateChange> | |
119 | <stateAttribute type="location" value="CurrentThread" /> | |
120 | <stateAttribute type="constant" value="Status" /> | |
121 | <stateValue type="int" value="$PROCESS_STATUS_INTERRUPTED" /> | |
122 | </stateChange> | |
123 | <stateChange> | |
124 | <stateAttribute type="location" value="CurrentCPU" /> | |
125 | <stateAttribute type="constant" value="Status" /> | |
126 | <stateValue type="int" value="$CPU_STATUS_IRQ" /> | |
127 | </stateChange> | |
128 | </eventHandler> | |
129 | <!-- case 3 : irq_handler_exit : Fields: int32 irq, int32 ret --> | |
130 | <eventHandler eventName="irq_handler_exit"> | |
131 | <stateChange> | |
132 | <stateAttribute type="location" value="CurrentIRQ" /> | |
133 | <stateValue type="null" /> | |
134 | </stateChange> | |
135 | <stateChange> | |
136 | <if> | |
137 | <condition> | |
138 | <stateAttribute type="location" value="CurrentThread" /> | |
139 | <stateAttribute type="constant" value="System_call" /> | |
140 | <stateValue type="null" /> | |
141 | </condition> | |
142 | </if> | |
143 | <then> | |
144 | <stateAttribute type="location" value="CurrentThread" /> | |
145 | <stateAttribute type="constant" value="Status" /> | |
146 | <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" /> | |
147 | </then> | |
148 | <else> | |
149 | <stateAttribute type="location" value="CurrentThread" /> | |
150 | <stateAttribute type="constant" value="Status" /> | |
151 | <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" /> | |
152 | </else> | |
153 | </stateChange> | |
154 | <stateChange> | |
155 | <if> | |
156 | <condition> | |
157 | <stateAttribute type="location" value="CurrentThread" /> | |
158 | <stateAttribute type="constant" value="System_call" /> | |
159 | <stateValue type="null" /> | |
160 | </condition> | |
161 | </if> | |
162 | <then> | |
163 | <stateAttribute type="location" value="CurrentCPU" /> | |
164 | <stateAttribute type="constant" value="Status" /> | |
165 | <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" /> | |
166 | </then> | |
167 | <else> | |
168 | <stateAttribute type="location" value="CurrentCPU" /> | |
169 | <stateAttribute type="constant" value="Status" /> | |
170 | <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" /> | |
171 | </else> | |
172 | </stateChange> | |
173 | <stateChange> | |
174 | <if> | |
175 | <condition> | |
176 | <stateAttribute type="location" value="CurrentCPU" /> | |
177 | <stateAttribute type="constant" value="Current_thread" /> | |
178 | <stateValue type="null" /> | |
179 | </condition> | |
180 | </if> | |
181 | <then> | |
182 | <stateAttribute type="location" value="CurrentCPU" /> | |
183 | <stateAttribute type="constant" value="Status" /> | |
184 | <stateValue type="int" value="$CPU_STATUS_IDLE" /> | |
185 | </then> | |
186 | </stateChange> | |
187 | <stateChange> | |
188 | <if> | |
189 | <condition> | |
190 | <stateAttribute type="location" value="CurrentCPU" /> | |
191 | <stateAttribute type="constant" value="Current_thread" /> | |
192 | <stateValue type="int" value="0" /> | |
193 | </condition> | |
194 | </if> | |
195 | <then> | |
196 | <stateAttribute type="location" value="CurrentCPU" /> | |
197 | <stateAttribute type="constant" value="Status" /> | |
198 | <stateValue type="int" value="$CPU_STATUS_IDLE" /> | |
199 | </then> | |
200 | </stateChange> | |
201 | </eventHandler> | |
202 | <!-- case 4 : softirq_entry : Fields: int32 vec --> | |
203 | <eventHandler eventName="softirq_entry"> | |
204 | <stateChange> | |
205 | <stateAttribute type="location" value="CurrentSoftIRQ" /> | |
206 | <stateValue type="eventField" value="cpu" /> | |
207 | </stateChange> | |
208 | <stateChange> | |
209 | <stateAttribute type="location" value="CurrentThread" /> | |
210 | <stateAttribute type="constant" value="Status" /> | |
211 | <stateValue type="int" value="$PROCESS_STATUS_INTERRUPTED" /> | |
212 | </stateChange> | |
213 | <stateChange> | |
214 | <stateAttribute type="location" value="CurrentCPU" /> | |
215 | <stateAttribute type="constant" value="Status" /> | |
216 | <stateValue type="int" value="$CPU_STATUS_SOFTIRQ" /> | |
217 | </stateChange> | |
218 | </eventHandler> | |
219 | <!-- case 5 : softirq_exit : Fields: int32 vec --> | |
220 | <eventHandler eventName="softirq_exit"> | |
221 | <stateChange> | |
222 | <stateAttribute type="location" value="CurrentSoftIRQ" /> | |
223 | <stateValue type="null" /> | |
224 | </stateChange> | |
225 | <stateChange> | |
226 | <if> | |
227 | <condition> | |
228 | <stateAttribute type="location" value="CurrentThread" /> | |
229 | <stateAttribute type="constant" value="System_call" /> | |
230 | <stateValue type="null" /> | |
231 | </condition> | |
232 | </if> | |
233 | <then> | |
234 | <stateAttribute type="location" value="CurrentThread" /> | |
235 | <stateAttribute type="constant" value="Status" /> | |
236 | <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" /> | |
237 | </then> | |
238 | <else> | |
239 | <stateAttribute type="location" value="CurrentThread" /> | |
240 | <stateAttribute type="constant" value="Status" /> | |
241 | <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" /> | |
242 | </else> | |
243 | </stateChange> | |
244 | <stateChange> | |
245 | <if> | |
246 | <condition> | |
247 | <stateAttribute type="location" value="CurrentThread" /> | |
248 | <stateAttribute type="constant" value="System_call" /> | |
249 | <stateValue type="null" /> | |
250 | </condition> | |
251 | </if> | |
252 | <then> | |
253 | <stateAttribute type="location" value="CurrentCPU" /> | |
254 | <stateAttribute type="constant" value="Status" /> | |
255 | <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" /> | |
256 | </then> | |
257 | <else> | |
258 | <stateAttribute type="location" value="CurrentCPU" /> | |
259 | <stateAttribute type="constant" value="Status" /> | |
260 | <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" /> | |
261 | </else> | |
262 | </stateChange> | |
263 | <stateChange> | |
264 | <if> | |
265 | <condition> | |
266 | <stateAttribute type="location" value="CurrentCPU" /> | |
267 | <stateAttribute type="constant" value="Current_thread" /> | |
268 | <stateValue type="null" /> | |
269 | </condition> | |
270 | </if> | |
271 | <then> | |
272 | <stateAttribute type="location" value="CurrentCPU" /> | |
273 | <stateAttribute type="constant" value="Status" /> | |
274 | <stateValue type="int" value="$CPU_STATUS_IDLE" /> | |
275 | </then> | |
276 | </stateChange> | |
277 | <stateChange> | |
278 | <if> | |
279 | <condition> | |
280 | <stateAttribute type="location" value="CurrentCPU" /> | |
281 | <stateAttribute type="constant" value="Current_thread" /> | |
282 | <stateValue type="int" value="0" /> | |
283 | </condition> | |
284 | </if> | |
285 | <then> | |
286 | <stateAttribute type="location" value="CurrentCPU" /> | |
287 | <stateAttribute type="constant" value="Status" /> | |
288 | <stateValue type="int" value="$CPU_STATUS_IDLE" /> | |
289 | </then> | |
290 | </stateChange> | |
291 | </eventHandler> | |
292 | <!-- case 6 : softirq_raise : Fields: int32 vec --> | |
293 | <eventHandler eventName="softirq_raise"> | |
294 | <stateChange> | |
295 | <stateAttribute type="location" value="CurrentSoftIRQ" /> | |
296 | <stateValue type="int" value="$SOFT_IRQ_RAISED" /> | |
297 | </stateChange> | |
298 | </eventHandler> | |
299 | <!-- case 7 : sched_switch : Fields: string prev_comm, int32 prev_tid, | |
300 | int32 prev_prio, int64 prev_state, string next_comm, int32 next_tid, int32 | |
301 | next_prio --> | |
302 | <eventHandler eventName="sched_switch"> | |
303 | <stateChange> | |
304 | <if> | |
305 | <condition> | |
306 | <field name="prev_state" /> | |
307 | <stateValue type="long" value="0" /> | |
308 | </condition> | |
309 | </if> | |
310 | <then> | |
311 | <stateAttribute type="constant" value="Threads" /> | |
312 | <stateAttribute type="eventField" value="prev_tid" /> | |
313 | <stateAttribute type="constant" value="Status" /> | |
314 | <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" /> | |
315 | </then> | |
316 | <else> | |
317 | <stateAttribute type="constant" value="Threads" /> | |
318 | <stateAttribute type="eventField" value="prev_tid" /> | |
319 | <stateAttribute type="constant" value="Status" /> | |
320 | <stateValue type="int" value="$PROCESS_STATUS_WAIT_BLOCKED" /> | |
321 | </else> | |
322 | </stateChange> | |
323 | <stateChange> | |
324 | <if> | |
325 | <condition> | |
326 | <stateAttribute type="location" value="newCurrentThread" /> | |
327 | <stateAttribute type="constant" value="System_call" /> | |
328 | <stateValue type="null" /> | |
329 | </condition> | |
330 | </if> | |
331 | <then> | |
332 | <stateAttribute type="location" value="newCurrentThread" /> | |
333 | <stateAttribute type="constant" value="Status" /> | |
334 | <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" /> | |
335 | </then> | |
336 | <else> | |
337 | <stateAttribute type="location" value="newCurrentThread" /> | |
338 | <stateAttribute type="constant" value="Status" /> | |
339 | <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" /> | |
340 | </else> | |
341 | </stateChange> | |
342 | <stateChange> | |
343 | <stateAttribute type="location" value="newCurrentThread" /> | |
344 | <stateAttribute type="constant" value="Exec_name" /> | |
345 | <stateValue type="eventField" value="next_comm" /> | |
346 | </stateChange> | |
347 | <stateChange> | |
348 | <stateAttribute type="location" value="CurrentCPU" /> | |
349 | <stateAttribute type="constant" value="Current_thread" /> | |
350 | <stateValue type="eventField" value="next_tid" forcedType="int" /> | |
351 | </stateChange> | |
352 | <stateChange> | |
353 | <if> | |
354 | <not> | |
355 | <condition> | |
356 | <field name="next_tid" /> | |
357 | <stateValue type="long" value="0" /> | |
358 | </condition> | |
359 | </not> | |
360 | </if> | |
361 | <then> | |
362 | <if> | |
363 | <condition> | |
364 | <stateAttribute type="location" value="newCurrentThread" /> | |
365 | <stateAttribute type="constant" value="System_call" /> | |
366 | <stateValue type="null" /> | |
367 | </condition> | |
368 | </if> | |
369 | <then> | |
370 | <stateAttribute type="location" value="CurrentCPU" /> | |
371 | <stateAttribute type="constant" value="Status" /> | |
372 | <stateValue type="int" value="$CPU_STATUS_RUN_USERMODE" /> | |
373 | </then> | |
374 | <else> | |
375 | <stateAttribute type="location" value="CurrentCPU" /> | |
376 | <stateAttribute type="constant" value="Status" /> | |
377 | <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" /> | |
378 | </else> | |
379 | </then> | |
380 | </stateChange> | |
381 | <stateChange> | |
382 | <if> | |
383 | <condition> | |
384 | <field name="next_tid" /> | |
385 | <stateValue type="long" value="0" /> | |
386 | </condition> | |
387 | </if> | |
388 | <then> | |
389 | <stateAttribute type="location" value="CurrentCPU" /> | |
390 | <stateAttribute type="constant" value="Status" /> | |
391 | <stateValue type="int" value="$CPU_STATUS_IDLE" /> | |
392 | </then> | |
393 | </stateChange> | |
394 | </eventHandler> | |
395 | <!-- case 8 : sched_process_fork : Fields: string parent_comm, int32 parent_tid, | |
396 | string child_comm, int32 child_tid --> | |
397 | <eventHandler eventName="sched_process_fork"> | |
398 | <stateChange> | |
399 | <stateAttribute type="constant" value="Threads" /> | |
400 | <stateAttribute type="eventField" value="child_tid" /> | |
401 | <stateAttribute type="constant" value="PPID" /> | |
402 | <stateValue type="eventField" value="parent_tid" forcedType="int" /> | |
403 | </stateChange> | |
404 | <stateChange> | |
405 | <stateAttribute type="constant" value="Threads" /> | |
406 | <stateAttribute type="eventField" value="child_tid" /> | |
407 | <stateAttribute type="constant" value="Exec_name" /> | |
408 | <stateValue type="eventField" value="child_comm" /> | |
409 | </stateChange> | |
410 | <stateChange> | |
411 | <stateAttribute type="constant" value="Threads" /> | |
412 | <stateAttribute type="eventField" value="child_tid" /> | |
413 | <stateAttribute type="constant" value="Status" /> | |
414 | <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" /> | |
415 | </stateChange> | |
416 | <stateChange> | |
417 | <stateAttribute type="constant" value="Threads" /> | |
418 | <stateAttribute type="eventField" value="child_tid" /> | |
419 | <stateAttribute type="constant" value="System_call" /> | |
420 | <stateValue type="query"> | |
421 | <stateAttribute type="constant" value="Threads" /> | |
422 | <stateAttribute type="eventField" value="parent_tid" /> | |
423 | <stateAttribute type="constant" value="System_call" /> | |
424 | </stateValue> | |
425 | </stateChange> | |
426 | <stateChange> | |
427 | <if> | |
428 | <condition> | |
429 | <stateAttribute type="constant" value="Threads" /> | |
430 | <stateAttribute type="eventField" value="child_tid" /> | |
431 | <stateAttribute type="constant" value="System_call" /> | |
432 | <stateValue type="null" /> | |
433 | </condition> | |
434 | </if> | |
435 | <then> | |
436 | <stateAttribute type="constant" value="Threads" /> | |
437 | <stateAttribute type="eventField" value="child_tid" /> | |
438 | <stateAttribute type="constant" value="System_call" /> | |
439 | <stateValue type="string" value="sys_clone" /> | |
440 | </then> | |
441 | </stateChange> | |
442 | </eventHandler> | |
443 | <!-- case 10 : sched_process_free : Fields: string parent_comm, int32 parent_tid, | |
444 | string child_comm, int32 child_tid --> | |
445 | <eventHandler eventName="sched_process_free"> | |
446 | <stateChange> | |
447 | <stateAttribute type="constant" value="Threads" /> | |
448 | <stateAttribute type="eventField" value="tid" /> | |
449 | <stateValue type="delete" /> | |
450 | </stateChange> | |
451 | </eventHandler> | |
452 | <!-- case 11 : lttng_statedump_process_state : Fields: int32 type, int32 | |
453 | mode, int32 pid, int32 submode, int32 vpid, int32 ppid, int32 tid, string | |
454 | name, int32 status, int32 vtid --> | |
455 | <eventHandler eventName="lttng_statedump_process_state"> | |
456 | <stateChange> | |
457 | <if> | |
458 | <condition> | |
459 | <stateAttribute type="constant" value="Threads" /> | |
460 | <stateAttribute type="eventField" value="tid" /> | |
461 | <stateAttribute type="constant" value="Exec_name" /> | |
462 | <stateValue type="null" /> | |
463 | </condition> | |
464 | </if> | |
465 | <then> | |
466 | <stateAttribute type="constant" value="Threads" /> | |
467 | <stateAttribute type="eventField" value="tid" /> | |
468 | <stateAttribute type="constant" value="Exec_name" /> | |
469 | <stateValue type="eventField" value="name" /> | |
470 | </then> | |
471 | </stateChange> | |
472 | <stateChange> | |
473 | <if> | |
474 | <condition> | |
475 | <stateAttribute type="constant" value="Threads" /> | |
476 | <stateAttribute type="eventField" value="tid" /> | |
477 | <stateAttribute type="constant" value="PPID" /> | |
478 | <stateValue type="null" /> | |
479 | </condition> | |
480 | </if> | |
481 | <then> | |
482 | <stateAttribute type="constant" value="Threads" /> | |
483 | <stateAttribute type="eventField" value="tid" /> | |
484 | <stateAttribute type="constant" value="PPID" /> | |
485 | <stateValue type="eventField" value="ppid" forcedType="int" /> | |
486 | </then> | |
487 | </stateChange> | |
488 | <stateChange> | |
489 | <if> | |
490 | <and> | |
491 | <condition> | |
492 | <stateAttribute type="constant" value="Threads" /> | |
493 | <stateAttribute type="eventField" value="tid" /> | |
494 | <stateAttribute type="constant" value="Status" /> | |
495 | <stateValue type="null" /> | |
496 | </condition> | |
497 | <condition> | |
498 | <field name="status" /> | |
499 | <stateValue type="long" value="2" /> | |
500 | </condition> | |
501 | </and> | |
502 | </if> | |
503 | <then> | |
504 | <stateAttribute type="constant" value="Threads" /> | |
505 | <stateAttribute type="eventField" value="tid" /> | |
506 | <stateAttribute type="constant" value="Status" /> | |
507 | <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" /> | |
508 | </then> | |
509 | </stateChange> | |
510 | <stateChange> | |
511 | <if> | |
512 | <and> | |
513 | <condition> | |
514 | <stateAttribute type="constant" value="Threads" /> | |
515 | <stateAttribute type="eventField" value="tid" /> | |
516 | <stateAttribute type="constant" value="Status" /> | |
517 | <stateValue type="null" /> | |
518 | </condition> | |
519 | <condition> | |
520 | <field name="status" /> | |
521 | <stateValue type="long" value="5" /> | |
522 | </condition> | |
523 | </and> | |
524 | </if> | |
525 | <then> | |
526 | <stateAttribute type="constant" value="Threads" /> | |
527 | <stateAttribute type="eventField" value="tid" /> | |
528 | <stateAttribute type="constant" value="Status" /> | |
529 | <stateValue type="int" value="$PROCESS_STATUS_WAIT_BLOCKED" /> | |
530 | </then> | |
531 | </stateChange> | |
532 | <stateChange> | |
533 | <if> | |
534 | <condition> | |
535 | <stateAttribute type="constant" value="Threads" /> | |
536 | <stateAttribute type="eventField" value="tid" /> | |
537 | <stateAttribute type="constant" value="Status" /> | |
538 | <stateValue type="null" /> | |
539 | </condition> | |
540 | </if> | |
541 | <then> | |
542 | <stateAttribute type="constant" value="Threads" /> | |
543 | <stateAttribute type="eventField" value="tid" /> | |
544 | <stateAttribute type="constant" value="Status" /> | |
545 | <stateValue type="int" value="$PROCESS_STATUS_UNKNOWN" /> | |
546 | </then> | |
547 | </stateChange> | |
548 | </eventHandler> | |
549 | <!-- case 12 : sched_wakeup : case 13 : sched_wakeup_new : Fields (same | |
550 | fields for both types): string comm, int32 tid, int32 prio, int32 success, | |
551 | int32 target_cpu --> | |
552 | <eventHandler eventName="sched_wakeup*"> | |
553 | <stateChange> | |
554 | <if> | |
555 | <and> | |
556 | <not> | |
557 | <condition> | |
558 | <stateAttribute type="constant" value="Threads" /> | |
559 | <stateAttribute type="eventField" value="tid" /> | |
560 | <stateAttribute type="constant" value="Status" /> | |
561 | <stateValue type="int" value="$PROCESS_STATUS_RUN_USERMODE" /> | |
562 | </condition> | |
563 | </not> | |
564 | <not> | |
565 | <condition> | |
566 | <stateAttribute type="constant" value="Threads" /> | |
567 | <stateAttribute type="eventField" value="tid" /> | |
568 | <stateAttribute type="constant" value="Status" /> | |
569 | <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" /> | |
570 | </condition> | |
571 | </not> | |
572 | </and> | |
573 | </if> | |
574 | <then> | |
575 | <stateAttribute type="constant" value="Threads" /> | |
576 | <stateAttribute type="eventField" value="tid" /> | |
577 | <stateAttribute type="constant" value="Status" /> | |
578 | <stateValue type="int" value="$PROCESS_STATUS_WAIT_FOR_CPU" /> | |
579 | </then> | |
580 | </stateChange> | |
581 | </eventHandler> | |
582 | <!-- delfault : syscall --> | |
583 | <eventHandler eventName="sys_*"> | |
584 | <stateChange> | |
585 | <stateAttribute type="location" value="CurrentThread" /> | |
586 | <stateAttribute type="constant" value="System_call" /> | |
587 | <stateValue type="eventName" /> | |
588 | </stateChange> | |
589 | <stateChange> | |
590 | <stateAttribute type="location" value="CurrentThread" /> | |
591 | <stateAttribute type="constant" value="Status" /> | |
592 | <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" /> | |
593 | </stateChange> | |
594 | <stateChange> | |
595 | <stateAttribute type="location" value="CurrentCPU" /> | |
596 | <stateAttribute type="constant" value="Status" /> | |
597 | <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" /> | |
598 | </stateChange> | |
599 | </eventHandler> | |
600 | <!-- delfault : compat_syscall --> | |
601 | <eventHandler eventName="compat_sys_*"> | |
602 | <stateChange> | |
603 | <stateAttribute type="location" value="CurrentThread" /> | |
604 | <stateAttribute type="constant" value="System_call" /> | |
605 | <stateValue type="eventName" /> | |
606 | </stateChange> | |
607 | <stateChange> | |
608 | <stateAttribute type="location" value="CurrentThread" /> | |
609 | <stateAttribute type="constant" value="Status" /> | |
610 | <stateValue type="int" value="$PROCESS_STATUS_RUN_SYSCALL" /> | |
611 | </stateChange> | |
612 | <stateChange> | |
613 | <stateAttribute type="location" value="CurrentCPU" /> | |
614 | <stateAttribute type="constant" value="Status" /> | |
615 | <stateValue type="int" value="$CPU_STATUS_RUN_SYSCALL" /> | |
616 | </stateChange> | |
617 | </eventHandler> | |
618 | </stateProvider> | |
e11e382c | 619 | </tmfxml> |