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