Next: , Previous: , Up: The c_trace backend   [Contents][Index]


Default c_trace tracing

Default c_trace tracing

Without --curses, c_trace alters the generated C code to write data like the following to the standard error device:

[TRACE] phys: 1 | virt: 1 | action: RECV | event: 1 / 44001 | lines: 18 - 18
[TRACE] phys: 0 | virt: 0 | action: RESET | event: 1 / 88023 | lines: 17 - 17
[TRACE] phys: 0 | virt: 0 | action: SEND | event: 2 / 88023 | lines: 18 - 18
[TRACE] phys: 0 | virt: 0 | action: RECV | event: 3 / 88023 | lines: 19 - 19
[TRACE] phys: 1 | virt: 1 | action: SEND | event: 2 / 44001 | lines: 19 - 19
[TRACE] phys: 1 | virt: 1 | action: RECV | event: 3 / 44001 | lines: 18 - 18
[TRACE] phys: 0 | virt: 0 | action: CODE | event: 4 / 88023 | lines: 20 - 21
[TRACE] phys: 0 | virt: 0 | action: RESET | event: 5 / 88023 | lines: 17 - 17
[TRACE] phys: 0 | virt: 0 | action: SEND | event: 6 / 88023 | lines: 18 - 18
[TRACE] phys: 0 | virt: 0 | action: RECV | event: 7 / 88023 | lines: 19 - 19
                                       .
                                       .
                                       .

The format is designed to be easy to read and easy for a program to parse. Each line of trace data begins with the string ‘[TRACE]’ and lists the (physical) processor number, the (virtual) task ID, the action (a.k.a., event type) that is about to be performed, the current event number and total number of events that will execute on the given processor, and the range of lines of source code to which the current event corresponds. An “event” corresponds more-or-less to a statement in the coNCePTuaL language.3 Loops are unrolled at initialization time and therefore produce no events. Event types, lists and briefly describes the various event types.


Footnotes

(3)

A more precise correspondence is to a <simple_stmt> in the formal grammar presented in Grammar.


Next: , Previous: , Up: The c_trace backend   [Contents][Index]

Scott Pakin, pakin@lanl.gov