<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Frutiger LT Com 45 Light";
        panose-1:2 11 3 3 3 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.E-MailFormatvorlage17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:70.85pt 70.85pt 56.7pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:180975885;
        mso-list-type:hybrid;
        mso-list-template-ids:845207064 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Dear Mathieu,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am trying to read the events generated by LTTng kernel tracer in my Application. I can successfully read the event name and timestamp with the help of babeltrace API/library. But the problem comes with reading remaining fields.<o:p></o:p></p>
<p class="MsoNormal">e.g. my metadata file generated via LTTng kernel trace has:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">event {<o:p></o:p></p>
<p class="MsoNormal">        name = sched_switch;<o:p></o:p></p>
<p class="MsoNormal">        id = 0;<o:p></o:p></p>
<p class="MsoNormal">        stream_id = 0;<o:p></o:p></p>
<p class="MsoNormal">        fields := struct {<o:p></o:p></p>
<p class="MsoNormal">                integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; }
<b>_prev_comm[16];</b><o:p></o:p></p>
<p class="MsoNormal">                integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _prev_tid;<o:p></o:p></p>
<p class="MsoNormal">                integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _prev_prio;<o:p></o:p></p>
<p class="MsoNormal">                integer { size = 64; align = 8; signed = 1; encoding = none; base = 10; } _prev_state;<o:p></o:p></p>
<p class="MsoNormal" style="text-align:justify">                integer { size = 8; align = 8; signed = 1; encoding = UTF8; base = 10; }
<b>_next_comm[16];</b><o:p></o:p></p>
<p class="MsoNormal">                integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _next_tid;<o:p></o:p></p>
<p class="MsoNormal">                integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _next_prio;<o:p></o:p></p>
<p class="MsoNormal">        };<o:p></o:p></p>
<p class="MsoNormal">};<o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">I wanted to read event fields like _<i>prev</i>_command and _<i>next</i>_command. The pseudocode of my application is:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><span style="mso-list:Ignore">1)<span style="font:7.0pt "Times New Roman"">   
</span></span></span><![endif]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Create context<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><span style="mso-list:Ignore">2)<span style="font:7.0pt "Times New Roman"">   
</span></span></span><![endif]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Add trace to context with given context, input_path and defaults (NULL) for packet seek, mmap_stream_list, and FILE*<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><span style="mso-list:Ignore">3)<span style="font:7.0pt "Times New Roman"">   
</span></span></span><![endif]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Allocate a CTF trace collection iterator using context above and NULL (default for begin_pos and end_pos)<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><span style="mso-list:Ignore">4)<span style="font:7.0pt "Times New Roman"">   
</span></span></span><![endif]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Using iterator read event in bt_ctf_event struct , until iterator move to next event in trace collection<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><![if !supportLists]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><span style="mso-list:Ignore">5)<span style="font:7.0pt "Times New Roman"">   
</span></span></span><![endif]><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Read event name and timestamp<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">But I could not figure out the way to read event fields in general, since with different types of events they will change. Kindly suggest me which files to look into? Or
 suggest some way through which I can achieve this.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">I shall be really thankful to you.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Best Regards,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Salman<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">--<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Salman Rafiq<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Industrial Communication<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif"">Fraunhofer-Einrichtung für Systeme der Kommunikationstechnik ESK<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif"">Hansastraße 3</span><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif"">2 | 80686 München<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif"">Telefon, Fax:  +49 89 547088-356 | +49 89 547088-66-356<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif"">E-Mail:  
<span style="color:black"><a href="http://www.esk.fraunhofer.de/"><span style="color:blue">salman.rafiq@esk.fraunhofer.de</span></a></span><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif""> 
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif"">Internet:
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif";color:black"><a href="http://www.esk.fraunhofer.de/"><span style="color:blue">http://www.esk.fraunhofer.de</span></a></span><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif""><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:9.0pt;font-family:"Frutiger LT Com 45 Light","sans-serif";color:black"><a href="http://www.facebook.com/FraunhoferESK"><span style="color:blue">http://www.facebook.com/FraunhoferESK</span></a><br>
<a href="http://www.twitter.com/FraunhoferESK"><span style="color:blue">http://www.twitter.com/FraunhoferESK</span></a></span><span lang="DE" style="font-size:9.0pt"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE"><o:p> </o:p></span></p>
</div>
</body>
</html>