<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 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","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
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Texte de bulles Car";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.TextedebullesCar
        {mso-style-name:"Texte de bulles Car";
        mso-style-priority:99;
        mso-style-link:"Texte de bulles";
        font-family:"Tahoma","sans-serif";
        mso-fareast-language:FR-CA;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></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="FR-CA" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D">   You need to define your concept of operations carefully.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D">   An instrumented application can include its tracepoint provider in several ways.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D">   One is static inclusion: the application will always be traceable, but any change to the tracepoints requires a recompilation of the app, plus the tracepoint
 events it produces should not be shared with any other application (I say ‘should’ because they can, but it’s a bad idea to do so).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D">   Another is dynamic inclusion with static awareness: the application will always be traceable, but will refuse to run if does not find the tracepoint provider
 library (typically provided by LD_PRELOAD). The tracepoint events can be shared with other applications.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D">   The third is dynamic inclusion without static awareness: this operates as the previous, except that when the app does not find the tracepoint provider it
 runs normally but is not traceable. Turning off traceability in this way does give you a very small gain in performance.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D">   The last is fully dynamic inclusion: the app is responsible for its own traceability because it loads and unloads its tracepoint provider itself (using dlopen
 and dlclose). This is more intrusive as the app’s code needs to include this aspect, possibly reflected in its user interface (by a menu item, for instance). On the good side it does mean you get the slight performance gain on demand.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D">   If the very slight loss of performance due to tracing doesn’t bother you, your best bet is probably dynamic inclusion without static awareness (third option).
 LTTng can then be configured to capture your app’s traces using an on-disc circular buffer (see the tracefile-size and tracefile-count options of the enable-channel command). When your app misbehaves, you suspend it, suspend tracing (lttng stop), and copy
 the trace to a working directory. You can then babeltrace it or use the Eclipse LTTng views to analyse the trace. This works even better if your app is run multiple times, because then LTTng will capture each running separately (see the buffers-pid and buffers-uid
 options of the enable-channel command). You only need to remember to flush the older traces once you’ve decided you don’t need them anymore.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-CA" style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D">Daniel U. Thibault<br>
Protection des systèmes et contremesures (PSC) | Systems Protection & Countermeasures (SPC)<br>
Cyber sécurité pour les missions essentielles (CME) | Mission Critical Cyber Security (MCCS)<br>
R & D pour la défense Canada - Valcartier (RDDC Valcartier) | Defence R&D Canada - Valcartier (DRDC Valcartier)<br>
2459 route de la Bravoure<br>
Québec QC  G3J 1X5<br>
CANADA<br>
Vox</span><span style="font-size:10.5pt;font-family:Consolas;color:#1F497D;mso-fareast-language:EN-US"> </span><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D">: (418) 844-4000 x4245<br>
Fax</span><span style="font-size:10.5pt;font-family:Consolas;color:#1F497D;mso-fareast-language:EN-US"> </span><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D">: (418) 844-4538<br>
</span><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D">NAC : </span>
<span lang="EN-CA" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><a href="http://www.travelgis.com/map.asp?addr=918V%20QSDJ"><span lang="FR-CA" style="font-size:10.0pt;font-family:"Courier New"">918V QSDJ</span></a></span><span lang="EN-CA" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">
</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><</span><u><span style="font-size:10.0pt;font-family:"Courier New";color:blue">http://www.travelgis.com/map.asp?addr=918V%20QSDJ</span></u><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><br>
</span><span style="font-size:11.0pt;font-family:Consolas;color:#1F497D">Gouvernement du Canada | Government of Canada<br>
</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><</span><span lang="EN-CA" style="font-size:10.0pt;font-family:"Courier New";color:blue"><a href="http://www.valcartier.drdc-rddc.gc.ca/"><span lang="FR-CA">http://www.valcartier.drdc-rddc.gc.ca/</span></a></span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">></span><span style="font-size:10.5pt;font-family:Consolas;color:#1F497D"><o:p></o:p></span></p>
</div>
</body>
</html>