http://www.ethernut.de/nutwiki/index.php?title=NUTTRACER&feed=atom&action=history
NUTTRACER - Revision history
2024-03-28T12:34:04Z
Revision history for this page on the wiki
MediaWiki 1.26.2
http://www.ethernut.de/nutwiki/index.php?title=NUTTRACER&diff=168&oldid=prev
Harald: 1 revision imported
2016-10-27T16:02:57Z
<p>1 revision imported</p>
<table class='diff diff-contentalign-left'>
<tr style='vertical-align: top;' lang='en'>
<td colspan='1' style="background-color: white; color:black; text-align: center;">← Older revision</td>
<td colspan='1' style="background-color: white; color:black; text-align: center;">Revision as of 16:02, 27 October 2016</td>
</tr><tr><td colspan='2' style='text-align: center;' lang='en'><div class="mw-diff-empty">(No difference)</div>
</td></tr></table>
Harald
http://www.ethernut.de/nutwiki/index.php?title=NUTTRACER&diff=167&oldid=prev
Harald: Taken from Ernst Stippl's post to the mailing list
2007-01-21T10:02:34Z
<p>Taken from Ernst Stippl's post to the mailing list</p>
<p><b>New page</b></p><div>== How to use NUTTRACER ==<br />
<br />
A while ago I used tracing:<br />
<br />
I re-built Nut/OS with the "OS Tracer" flag set under the "RTOS Kernel" section in Nutconf and added some lines to my prog:<br />
<br />
// set the _TRACING_ define to enable the calls to TRACE_add #define _TRACING_ #define stats<br />
..program continues ...<br />
#ifdef stats<br />
if ( NutTraceInit ( 4000, TRACE_MODE_CIRCULAR ) == 0) <br />
{<br />
printf ("Error in NutTraceInit\r\n");<br />
}<br />
NutTraceRegisterUserTag(1, "Befor FGETS\0"); <br />
NutTraceRegisterUserTag(2, "After FGETS\0"); <br />
NutTraceRegisterUserTag(3, "Befor IOCTL\0"); <br />
NutTraceRegisterUserTag(4, "After FREAD\0"); <br />
#endif<br />
..program continues ...<br />
#ifdef stats <br />
TRACE_ADD_ITEM(TRACE_TAG_USER,1) <br />
#endif<br />
..program continues ...<br />
#ifdef stats <br />
TRACE_ADD_ITEM(TRACE_TAG_USER,2) <br />
#endif<br />
#ifdef stats<br />
NutTraceStop () ; <br />
NutTracePrint (uart_FILE, 0);<br />
#endif <br />
..program ends<br />
<br />
The NutTracePrint produced something like: <br />
<br />
TRACE contains 4000 items, printing 4000 items. <br />
TAG PC/Info Time [s:ms:us] <br />
-------------------------------------------------- <br />
Trace Start 0x0 0:000:002 <br />
Thread Sleep main 0:006:168 <br />
Thread Yield main 0:006:172 <br />
Thread Wait httpd1 0:006:188 <br />
Thread Yield httpd1 0:006:192 <br />
Thread Wait httpd2 0:006:202 <br />
Thread Yield httpd2 0:006:207 <br />
Thread Wait FWD 0:006:219 <br />
Thread Yield FWD 0:006:223 <br />
Thread Wait tcpsm 0:006:646 <br />
Thread Yield tcpsm 0:006:651<br />
Thread Yield idle 0:181:309 <br />
Thread Sleep rxi1 0:182:007 <br />
Thread Yield rxi1 0:182:012 <br />
Thread Yield idle 0:206:301 <br />
Thread Wait tcpsm 0:206:722 <br />
Thread Yield tcpsm 0:206:727 <br />
Thread Yield idle 0:381:248 <br />
Thread Sleep rxi1 0:381:867 <br />
Thread Yield rxi1 0:381:871 <br />
Thread Yield idle 0:406:241 <br />
Thread Wait tcpsm 0:406:662 <br />
Thread Yield tcpsm 0:406:666 <br />
Thread Yield idle 0:581:187 <br />
Thread Sleep rxi1 0:581:807 <br />
Thread Yield rxi1 0:581:811 <br />
Thread Yield idle 0:606:180 <br />
Thread Wait tcpsm 0:606:601</div>
Harald