3

I'm working on developing a set of tools for one of our embedded products (ARM Cortex-A8). Some of the tools I have looked at are LTTng, OProfile, and Valgrind. Can someone briefly described the differences between LTTng and OProfile? I'm trying to determine if our toolset needs to include OProfile or not.

Thank you.

rkyser
  • 3,241
  • 1
  • 19
  • 28
  • I know you'd have a hard time selling this, but for performance tuning, in my decades of experience, the tool that gives the best results, far more than the others, is simply a debugger, *[used in this way](http://stackoverflow.com/a/927773/23771)*. Some others have *[figured this out as well](http://stackoverflow.com/questions/2473666/tips-for-optimizing-c-net-programs/2474118#2474118)*. There's an example *[here, of a 730x speedup](http://sourceforge.net/projects/randompausedemo/files/)*. – Mike Dunlavey Mar 15 '12 at 21:09
  • I see your point @Mike, but I can't use a debugger to get a snapshot of our system and which applications are taking up the most CPU time. Our platform has multiple applications that we have developed in house, so we need to see how each one is performing at high-level. How the application tech lead does their performance tuning is up to them. – rkyser Mar 16 '12 at 13:23
  • Hmmm... It sounds like the first thing you need is a higher-level tool, analogous to the task manager in Windows. There must be such a thing on Linux/Arm, but I'm out of my depth there. `pstack` maybe? – Mike Dunlavey Mar 16 '12 at 14:46
  • Based on your comment and some googling, I've just found a utility called **top**. It turns our that it's built in our embedded Linux distro. It periodically refreshes showing CPU utilization and some other stats. – rkyser Mar 16 '12 at 15:14
  • Well, to answer my own question ... It seems that OProfile focuses more on statistical sampling of everything currently running on the system and records its samples based on symbols and processes. Where as LTTng seems to focus more on capture events that occur within the kernel. [link](http://lttng.org/tracingwiki/index.php/Tracepoints_and_Markers) Userspace event tracing is also possible, but requires additional instrumentation. – rkyser Mar 20 '12 at 13:42

1 Answers1

3

Actually, there is another choice called perf which is integrated in kernel source. I think it is a better replacement for OProfile.

See perf wiki for more details. here

jumper
  • 192
  • 6