Jen-Cheng(Tommy) Huang <tommy24 <at> gatech.edu> writes:
> 
> Hi
> 
> I am trying to use perf with event grouping to profile Java apps.
> My kernel is 3.16.1-1.el6.elrepo.x86_64
> perf version 3.16.1-1.el6.elrepo.x86_64
> The Java app I use is hadoop TaskTracker, which spawns multiple child 
JVMs.
> There seems to be something wrong with event group, since very few
> samples were collected if I use more than one event in a group.
> The following shows an example
> 
> I used
> perf record -e '{instructions}:S' -c 100000 [TaskTracker command]
> This one works fine and it collects a reasonable amount of samples and
> several threads are sampled.
> 
> However, the following command does not work.
> perf record -e '{instructions,cycles}:S' -c 100000 [TaskTracker command]
> Less than 1000 samples were collected and only one thread was sampled
> 
> If I don't use :S to read samples, the sample counts are reasonable,
> but the event grouping is gone. (both events were sampled, no leader
> event.)
> perf record -e '{instructions,cycles}' -c 100000 [TaskTracker command]
> 
> I tested single-threaded app, such as SPEC CPU.
> Everything works fine. The event grouping works fine, so as the :S flag.
> However, the Java app that I tested does not.
> Please let me know if any suggestions on this issue.
> 
> Thanks.
> 
To make it clear about the sample count difference, this is the stats 
collected from a few seconds run of the same app: With only one event in a 
group, it has ~362339 samples while 2 events in a group, it has only 938 
samples (only 1 thread was profiled). I think the sample recording is 
somehow stopped.
Thanks.



--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to