Chuch Tuffli wrote: > I'm investigating the feasibility of replacing some home grown tracing > code with LTTng and am looking for advice from others who have used > LTTng to trace program flow (i.e. trace function entry and exit > points). One of the strengths of LTTng seems to be the ability to > selectively enable tracepoints of interest (much more useful than our > all-or-nothing tracing). To get this type of capability, would I need > to implement an entry and exit tracepoint for each function or is > there a better approach? Any other best practices people would be > willing to share?
A customer had a similar problem. We used two different ways to instrument the code: full instrumentation using the GCC option -finstrument-functions and targeted instrumentation of a class of functions. Our experience: - Full instrumentation is very intrusive and inferior to sampling methods if you are only looking to profile the code - Full instrumentation is sometimes useful for verifying exact call sequences - Full instrumentation can also be used to find out which function is active at a specific point in time, when some other event occurs (trace correlation) - Using targeted instrumentation, we constructed a pulse train from the trace events, which could then be used to measure function execution times. This way, issues in the application could be found and then resolved. This was a real-time embedded system. We use our commercial trace display and analysis tool for analysis. I don't know what options there are in this respect. Cheers, Fredrik Östman _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
