In a previous posting I am struggling with hotspots, but I am beginning to think that I should instead be looking at callgraphs and critical_path analysis. This has precented me with a whole new set of ways to be clueless !-)
I try the command:
% vtl activity my_call -c callgraph -app myapp -moi myapp run
During this command VTune behaves unexpectedly. It first instruments my libraries, as I would expect, and I get lots of lines like this:
Mon Dec 15 13:15:03 2003 All functions instrumentation of module libasapi.so was successful.
I hasten to point out, in case it matters, that the name of my library is libAsAPI.so, not libasapi.so.
The vtl output ends like this:
Mon Dec 15 13:15:39 2003 Static instrumentation done
Mon Dec 15 13:15:40 2003 Data collection started...
Verifying new module: libAsUtility.so
Mon Dec 15 13:15:45 2003 Data collection finished...
Mon Dec 15 13:15:46 2003 Updating call graph database...
The Activity has finished running.
libAsUtility.so is loaded with dlopen(), so it would make sense for it to discover this library separately. Nice.
What I find surprising is that my application does not actually run. I would have thought that somewhere between "Data collection started" and "Data collection finished" I would have seen my application's output. Besides, it would run for longer than 5 seconds.
It seemed plausible that this instrumentation was not supposed to actually run the application. Rather, it would run as part of the 'vtl view'. Therefore, I gave the command:
% vtl view a4::r1 -critical-path
but this command goes away and never comes back. Furthermore, it is uninterruptable and unsuspendable. I have to kill the vtl.bin processes from a separate shell.
Any tips would be most welcome.