Re: [PATCH] perf util: Display warning when perf report/annotate is missing some libs

Jiri Olsa
2018-03-22T08:52:02Z

On Thu, Mar 22, 2018 at 09:04:10AM +0800, Jin, Yao wrote:
>
>
> On 3/21/2018 11:38 PM, Jiri Olsa wrote:
> > On Wed, Mar 21, 2018 at 10:11:10AM +0800, Jin, Yao wrote:
> > > Hi Jiri,
> > >
> > > I'm still thinking it's worth displaying the warning when perf missing some
> > > libraries.
> > >
> > > Somebody just told me that perf didn't work well. While after some
> > > investigations, I found it's just missing some libraries when building the
> > > perf.
> > >
> > > But I have spent some time on getting the root cause. If with this patch, it
> > > should be very easily to know that.
> >
> > true.. Arnaldo, any feedback on this one?
> >
> > > > I just think it'd better provide some hints to user. For example,
> > > > "symbol is disabled and you need to install libelf/xxx", say something
> > > > like that.
> > > >
> > > > But it looks the column can't contain too much information (i.e. no more
> > > > space to contain the entire hints).
> > > >
> > > > Any idea? Or just add this warning in verbose mode?
> > > >
> > > > > also your change does not affect tui mode
> > > > >
> > > > > annotation for some reason does not start at all.. could be
> > > > > little more verbose ;-)
> > > > >
> > > > > jirka
> > > > >
> > > >
> > > > Yes, it doesn't affect tui mode.
> > > >
> > > > Or we just add this warning in verbose mode?
> > > >
> > > > e.g. perf report -v?
> >
> > how about displaying libraries separately with -vv output,
> > that would mimic the build message, like:
> >
> > $ ./perf -vv
> > perf version 4.16.rc6.g18fd48
> >
> > dwarf: [ on ]
> > dwarf_getlocations: [ on ]
> > glibc: [ on ]
> > gtk2: [ on ]
> > libaudit: [ on ]
> > libbfd: [ on ]
> > libelf: [ on ]
> > libnuma: [ on ]
> > numa_num_possible_cpus: [ on ]
> > libperl: [ on ]
> > libpython: [ on ]
> > libslang: [ on ]
> > libcrypto: [ on ]
> > libunwind: [ on ]
> > libdw-dwarf-unwind: [ on ]
> > zlib: [ on ]
> > lzma: [ on ]
> > get_cpuid: [ on ]
> > bpf: [ on ]
> >
> > and perf -vvv could display the 'make VF=1' info
> >
> > jirka
> >
>
> I'm just afraid that the newbie will not check the -vv on his own when he
> gets trouble in using perf.
>
> In other words, if a user is experienced and he knows -vv yet, I may assume
> that he should know installing all libraries before building the perf.
>
> This patch is specific for the perf newbie. It will directly shows the
> error/warning when the user launches the perf binary. It will have a little
> bit helps, I guess. :)

I just don't like the idea that when you run perf report,
or annotate it spits out lines for every missing feature

maybe we could detect missing features for given command
and display line about missing features and say something
like:

'Warning: symbol,dwarf support not compiled in (for more details run perf -vv)'

or somwthing like that.. ;-)

jirka