Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)
5061 Discussions

Callgraph of a Java program on Linux - missing results

I'm using the Vtune analyzer 2.0 on Linux to profile a Java program . JDK is 1.4.2.

I run an activity that invokes the callgraph collector, which runs the program as expected and then hit CTRL-C when I want to view the data collected. Vtune prints a message to indicate that it had started writing out the callgraph and then a message which indicates that the Data collection has completed. There are no error messages. There is a warning message the very beginning which says "Instrumentation degraded to MINIMAL" for {java-home}/bin/java.

But when I try to view the results of this activity by doing vtl show, I can see the activity, but it has no associated results. I could see the results for activities that collected call graph and sampling info for a C program.

What could I be doing wrong?

0 Kudos
1 Reply

Hey Ram,

Nice to see you here at the vtl Forum. Welcome aboard.

To solve the problem you're seeing, use the ActivityController to pause or outright STOP your collection activity. This allows the child process generated by the shell to send the collected data back to the vtl command. To learn a lot about that command fast, try this:

$ man ActivityController

(Note upper case A and C, one word)

Try this too: run a test vtl command, and, once it's started, go to a prompt and type:

$ ActivityController

That program will say it sees the running collector, and ask you to pick what you want to do from a small menu. Couldn't be easier.

If you're like me, you may run ActivityController while vtl isn't doing anything, just to see what happens. It actually says, hey, I can't see any activities to control, and returns a shell prompt.

If you use a reflexive CTRL-C to stop the collection (and to kill the shell that the collection process is working via), there's no opportunity for the data in RAM to get flushed back to the vtl command working files. CTRL-C just kills the shell, bammo. And you lose any data that was collected in RAM, waiting to be saved and seen.

If you use the ActivityController, I think you'll get exactly what you're looking for. Either way, report back here and let us all know.



0 Kudos