TinyTracer and TinyOS

TinyTracer is implemented in TinyOS 2.x on the basis of two components : the TestTracerAppC.nc configuration file and the CFTracerC.nc module file. These files must be downloaded and placed in the $TOSROOT/tos/system directory.

TestTracerAppC.nc provides the basic wiring interface that helps expose a SplitControl interface (to start the component after event Boot.booted() is fired) and the CFTracer interface , that provides the actual functionality of tracing using a command CFTracerC.recordLabel(). CFTracerC.nc is the module file , that provides the actual inter-procedural Control-Flow tracing mechanism by using the recordLabel() function.

CFTracerC.nc also provides the flexibility to choose where the recorded trace must be stored. It could be either stored in Flash or sent over a Radio/Serial connection. These tasks of storing/dispatching the recorded traces , are self-timed and are done automatically by TinyTracer. You can also enable/disable compression in the trace recording.