<div><br></div><div>Here is the mail I send to <span style="line-height: 1.5;">Jérémie a few days ago, and I forgot cc to mail list (maybe the mail was rejected):</span></div><div><span style="line-height: 1.5;"><br></span></div><div><span style="line-height: 1.5;">-------------------------------------------------</span></div><div><div style="font-family: 'lucida Grande', Verdana; line-height: 23.799999237060547px;">So far, I'm not familiar with the detailed implementation of lttng-ust, thus my idea is simple and naive: we can make use of the</div><div style="font-family: 'lucida Grande', Verdana; line-height: 23.799999237060547px;">tracepoint probe library which generated by lttng-gen-tp or manually by user. Whether the probe library is dynamic or static ,it must contain the tracepoint information.</div><div style="font-family: 'lucida Grande', Verdana; line-height: 23.799999237060547px;">The use case is as such a scenario:</div><div style="font-family: 'lucida Grande', Verdana; line-height: 23.799999237060547px;">The target app has defined many events and  the user don't want to go over the source code to recall them. Instead, after creating a new session, user issue a hypothetical subcommand 'load_probe' which gather the information from the probe library.And since then, user is able to list all available events yet before any app is launched.</div></div><div><div>-----------------------------------------------</div><div><br></div><div> mathieu 's idea  implementing a ELF parser to provide early event-listing feature is a  good proposal. However, do you think the quantity of work is plenty enough to be a GSoC proposal?  I asked that because I saw some idea was turned down due to 'not complex enough' in some IRC channel.  </div><div><br></div><div>Lingyu</div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>From: </b> "Jérémie Galarne";<jeremie.galarneau@efficios.com>;</div><div><b>Date: </b> Wed, Mar 12, 2014 03:23 AM</div><div><b>To: </b> "Mathieu Desnoyers"<mathieu.desnoyers@efficios.com>; <wbr></div><div><b>Cc: </b> "zlynus"<302590304@qq.com>; "lttng-dev"<lttng-dev@lists.lttng.org>; <wbr></div><div><b>Subject: </b> Re: [lttng-dev] Can tracepoint be listed before app registered?</div></div><div><br></div>On Tue, Mar 11, 2014 at 3:16 PM, Mathieu Desnoyers<br><mathieu.desnoyers@efficios.com> wrote:<br>><br>><br>> ----- Original Message -----<br>>> From: "Jérémie Galarneau" <jeremie.galarneau@efficios.com><br>>> To: "zlynus" <302590304@qq.com><br>>> Cc: "lttng-dev" <lttng-dev@lists.lttng.org><br>>> Sent: Friday, March 7, 2014 1:23:01 PM<br>>> Subject: Re: [lttng-dev] Can tracepoint be listed before app registered?<br>>><br>>> On Fri, Mar 7, 2014 at 12:26 PM, zlynus <302590304@qq.com> wrote:<br>>> > Hi,<br>>> > Sorry to bother you guys. The lttng-tool man page dosen't make it clear<br>>> > that<br>>> > when the tracepoints of user-space application can be listed. So I did a<br>>> > little test. As far as I can tell ,the tracepoint information is only<br>>> > available during the application is running.<br>>> ><br>>><br>>> Correct.<br>>><br>>> > So is it possible that the tracepoint can be available *before* app get<br>>> > running, specifically, before enable-event subcommand? I think it can be<br>>> > quite convenient to output the list when specify which events to trace. If<br>>> > it is not for now,<br>>> > maybe it's a feature worth working on. My idea is lttng-tool could read<br>>> > tracer provider library and get the info,and  add a option after 'list'<br>>> > subcommand which let user specify the provider library to read. Just a<br>>> > personal opion from a new comer :-)<br>>> ><br>>><br>>> You can enable an event before the app is started. However, as you<br>>> pointed out, the session daemon has no knowledge of application events<br>>> before they are launched.<br>>><br>>> My understanding of your suggestion is that we should define a public<br>>> provider API on which the lttng client could hook itself to list<br>>> events. It would be of limited use in the case of statically linked<br>>> providers, but It's an interesting problem... Do you have a specific<br>>> use-case in mind?<br>><br>> Another option that would take care of statically linked providers<br>> would be to let a lttng library look at all the executables on the system<br>> (or from a certain path in the system), as well as .so, and list a specific<br>> "tracepoint provider" section that we could specify. We'd need to parse<br>> ELF for this.<br>><br>> Thoughts ?<br>><br><br>I like the idea. Lingyu, would that be something you'd like to propose<br>as a GSoC project?<br><br>Regards,<br>Jérémie<br><br>> Thanks,<br>><br>> Mathieu<br>><br>>><br>>> Regards,<br>>> Jérémie<br>>><br>>> > Best regards,<br>>> > Lingyu Zhu<br>>> ><br>>> ><br>>> > _______________________________________________<br>>> > lttng-dev mailing list<br>>> > lttng-dev@lists.lttng.org<br>>> > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev<br>>> ><br>>><br>>><br>>><br>>> --<br>>> Jérémie Galarneau<br>>> EfficiOS Inc.<br>>> http://www.efficios.com<br>>><br>>> _______________________________________________<br>>> lttng-dev mailing list<br>>> lttng-dev@lists.lttng.org<br>>> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev<br>>><br>><br>> --<br>> Mathieu Desnoyers<br>> EfficiOS Inc.<br>> http://www.efficios.com<br><br><br><br>-- <br>Jérémie Galarneau<br>EfficiOS Inc.<br>http://www.efficio</div>