On 11/26/2014 03:52 PM, Andi Kleen wrote:
> William Cohen <[email protected]> writes:
> 
>> Hi,
>>
>> I have been looking at how perf supports cgroups and containers.  The
>> "-G" option allows limiting the data collected to a particular cgroup.
>> Thus, one can use the option to collect some information about a
>> particular cgroup with something like:
>>
>> $ sudo perf stat -a -e cycles  -G
>> machine.slice/machine-qemu\\x2drhel7\\x2dx86_64.scope -e instructions
>> -G machine.slice/machine-qemu\\x2drhel7\\x2dx86_64.scope -- sleep 1
> 
> You can specify multiple events with -e. Typically you should anyways,
> to define appropiate groups with {}
> 
> perf record -a -e cycles,instructions -G cgroup  ...
> 
> -Andi
> 

Hi Andi,

Is there some where that explain use of the "{}" for event grouping?  The 
various perf man pages I have looked at (perf-record, perf-stat, and perf) 
don't seem to mention it. When reading the following from "man perf-record" it 
sounded like the comman separated event list wouldn't work:

      -G name,..., --cgroup name,...
           monitor only in the container (cgroup) called "name". This option
           is available only in per-cpu mode. The cgroup filesystem must be
           mounted. All threads belonging to container "name" are monitored
           when they run on the monitored CPUs. Multiple cgroups can be
           provided. Each cgroup is applied to the corresponding event, i.e.,
           first cgroup to first event, second cgroup to second event and so
           on. It is possible to provide an empty cgroup (monitor all the
           time) using, e.g., -G foo,,bar. Cgroups must have corresponding
           events, i.e., they always refer to events defined earlier on the
           command line.

The results looks pretty questionable on my machine with the version of perf 
and kernel I am using:

$ uname -a
Linux santana 3.17.3-200.fc20.x86_64 #1 SMP Fri Nov 14 19:45:42 UTC 2014 x86_64 
x86_64 x86_64 GNU/Linux
$ rpm -q perf
perf-3.17.3-200.fc20.x86_64
$ sudo perf stat -a -e cycles,instructions -G 
machine.slice/machine-qemu\\x2drhel7\\x2dx86_64.scope -- sleep .2

 Performance counter stats for 'system wide':

         2,983,776      cycles                    
machine.slice/machine-qemu\x2drhel7\x2dx86_64.scope [74.96%]
        87,972,874      instructions              #   29.48  insns per cycle    
     [100.00%]

       0.201151985 seconds time elapsed

$ sudo perf stat -a -e "{cycles,instructions}" -G 
machine.slice/machine-qemu\\x2drhel7\\x2dx86_64.scope -- sleep .2

 Performance counter stats for 'system wide':

         2,512,934      cycles                    
machine.slice/machine-qemu\x2drhel7\x2dx86_64.scope [82.53%]
       813,334,082      instructions              #   323.66  insns per cycle   
      [ 0.09%]

       0.201360285 seconds time elapsed


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

Reply via email to