Hi Joel, Chris,<br><br>I do not understand your "class" and data along with it below, Could you please explain it a little more? <br><br><div style="margin-left: 40px;">That is still TBD.  It could be a "class" indicator byte followed by an<br>
 class specific<br> event.  Something like:<br><br> + class<br> + class specific message indicator<br> + size of data following<br> + data<br></div>
 <br>For the trace points to add, I understand as below:<br><br>1. Write code to generate the wrapped version for each function to trace, such as<br>
<div style="margin-left: 40px;">void *__wrap_symbol(arguments)<br>{<br>  void *p;<br>  void *__real_symbol(arguments);<br><br>  Event_ID eid = Get_Event_ID(symbol);<br>  <br>  if (TriggerSet(eid))<br>         pass all the arguments to the SOLE handler in capture engine.<br>

         together with the data refered by arguments.<br>     <br>  p = __real_symbol(size);<br>  <br>  if (TriggerSet(eid))<br>      pass the return value to the SOLE handler in capture engine.<br>    together with the data refered by return value.<br>

 <br>  return p;<br>}<br><br></div>2. Triggers are to be managed by the event ID.<br><br>3. I has no idea about the filter for these events. For existing task related one, we could filter by priority, but how about the wrapped one? Could you tell some example for me to consider?<br>

<br>Regarding to other parts of the project, I understand as below, please comment.<br>1. Transmission of logged data to host<span class="q"><ul><ul><li>The first challenge of this part is to make the system and the log survive from high traffic.</li>
<li>The second challenge is to implement it in TCP while providing the flexibility for other transports in future.</li><li>The third challenge is to trade off minimizing the data to be sent across the network against the over-head to compress data.</li>
</ul></ul></span>2. Receipt of logged data on host<span class="q"><ul><ul><li>Use Python to write a CLI to receive data into a file.</li></ul></ul></span>3. Decoding of logged data on host<span class="q"><ul><ul><li>From the compressed data received, decode it for high-level application to display as tracing data.</li>
</ul></ul></span>4. GUI Timeline Visualization tool<span class="q" id="q_118cfb130996d037_11"><ul><ul><li>Use GNUplot to integrate the decoded data into visualization format. What kind of visualization is expected?</li></ul>
</ul></span><br>Thanks,<br>Alan<br><br><br><div><span class="gmail_quote">2008/3/23, Joel Sherrill <<a href="mailto:joel.sherrill@oarcorp.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">joel.sherrill@oarcorp.com</a>>:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

> [Alan] What is the event type indicator here? Current capture engine<br> > provide specific handler for each event. Now to integrate to capture<br> > engine from ALL the wrapper function, it would have SOLE handler in<br>

 > capture engine, is that right? Then besides all the arguments could be<br> > passed into<br> <br>That is still TBD.  It could be a "class" indicator byte followed by an<br> class specific<br> event.  Something like:<br>

 <br> + class<br> + class specific message indicator<br> + size of data following<br> + data<br> <br> Then the SOLE capture engine is just moving data which is decoded on the<br> host side.  Each "class" could provide a decode routine.<br>

 <br>> capture engine, what kind of event type indicator could be passed<br> > along here?<br> ><br> >     Chris was sure he could take the same list of function prototypes<br> >     and auto<br> >     generate python code to decode the trace log.<br>

</blockquote></div><br>