Hi Jiri,

On Wed, Mar 09, 2016 at 10:13:56AM +0100, Jiri Olsa wrote:
> On Wed, Mar 09, 2016 at 12:06:40AM +0900, Namhyung Kim wrote:
> > When a command-line filter was applied in hierarchy mode, output was
> > broken especially when filtering on lower level.  The higher level
> > entries didn't show up so it's hard to see the result.
> > 
> > Also it needs to handle multi sort keys in a single level of hierarchy.
> > 
> > Before:
> > 
> >   $ perf report --hierarchy -s 'cpu,{dso,comm}' --comms swapper --stdio
> >   ...
> >   #    Overhead  CPU / Shared Object+Command
> >   # ...........  ...........................
> >   #
> >          13.79%     [kernel.vmlinux]  swapper
> >       31.71%     000
> >          13.80%     [kernel.vmlinux]  swapper
> >           0.43%     [e1000e]          swapper
> >          11.89%     [kernel.vmlinux]  swapper
> >           9.18%     [kernel.vmlinux]  swapper
> > 
> > After:
> > 
> >   #    Overhead  CPU / Shared Object+Command
> >   # ...........  ...............................
> >   #
> >       33.09%     003
> >          13.79%     [kernel.vmlinux]  swapper
> >       31.71%     000
> >          13.80%     [kernel.vmlinux]  swapper
> >           0.43%     [e1000e]          swapper
> >       21.90%     002
> >          11.89%     [kernel.vmlinux]  swapper
> >       13.30%     001
> >           9.18%     [kernel.vmlinux]  swapper
> 
> I'm getting funny numbers when using 'F' toggle in tui mode 
> 
> [jolsa@krava perf]$ ./perf report --hierarchy -s 'cpu,{dso,comm}' --comms 
> swapper 
> 
> Samples: 254  of event 'cycles:pp', Event count (approx.): 132263887
>  Overhead     CPU / Shared Object+Command                                     
>                                                                               
>   ◆
> + 69.85%      001                                                             
>                                                                               
>   ▒
> + 44.28%      000                                                             
>                                                                               
>   ▒
> + 41.62%      002                                                             
>                                                                               
>   ▒
> + 36.80%      003                                                             
>                                                                               
>   
> 
> 
> [jolsa@krava perf]$ sudo ./perf top --hierarchy -s 'cpu,{dso,comm}' --comms 
> swapper 
> 
>  Overhead     CPU / Shared O+Command
> + 320.64%     000
> + 179.91%     002
> + 137.05%     003
> + 88.37%      001

Hmm.. I think it's because that the total period is a sum of periods
of leaf nodes.  But if a filter is applied, sum of periods of upper
level entries can be different than sum of the lower level entries.
So it should use top-level entries periods instead IMHO.

I will send a fix.

Thanks,
Namhyung

Reply via email to