Bug 1091297 - perf tool GTK support doesn't work
Summary: perf tool GTK support doesn't work
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: rawhide
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-25 10:41 UTC by Pekka Enberg
Modified: 2016-10-17 14:46 UTC (History)
9 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Pekka Enberg 2014-04-25 10:41:49 UTC
Description of problem:

The GTK support in perf tool does not work. It looks like a packaging issue where libperf-gtk.so is not being included in the perf RPM.

Version-Release number of selected component (if applicable):


How reproducible:

Always.

Steps to Reproduce:
1. perf report --gtk

Actual results:

$ perf report --gtk
GTK browser requested but could not find libperf-gtk.so


Expected results:

The GTK UI should start up.

Comment 1 Josh Boyer 2014-04-25 12:41:40 UTC
We build perf with NO_GTK2=1.  It's not a packaging issue.  At best this is an RFE but I doubt we'll actually enable support for this at the moment.

Comment 2 Alessandro Selli 2016-10-17 11:59:50 UTC
(In reply to Josh Boyer from comment #1)
> We build perf with NO_GTK2=1.  It's not a packaging issue.  At best this is
> an RFE but I doubt we'll actually enable support for this at the moment.

Given that Fedora 24 ships with gtk2-2.24.31-1.fc24.x86_64, what is the reason behind the exclusion of GTK2 support in perf?

Comment 3 Josh Boyer 2016-10-17 12:53:35 UTC
(In reply to Alessandro Selli from comment #2)
> (In reply to Josh Boyer from comment #1)
> > We build perf with NO_GTK2=1.  It's not a packaging issue.  At best this is
> > an RFE but I doubt we'll actually enable support for this at the moment.
> 
> Given that Fedora 24 ships with gtk2-2.24.31-1.fc24.x86_64, what is the
> reason behind the exclusion of GTK2 support in perf?

It bloats the build requirements for the kernel massively and GTK2 is not a long term solution.  If perf were a separate package it might be feasible.

Comment 4 Alessandro Selli 2016-10-17 13:44:28 UTC
(In reply to Josh Boyer from comment #3)
> (In reply to Alessandro Selli from comment #2)
> > (In reply to Josh Boyer from comment #1)
> > > We build perf with NO_GTK2=1.  It's not a packaging issue.  At best this is
> > > an RFE but I doubt we'll actually enable support for this at the moment.
> > 
> > Given that Fedora 24 ships with gtk2-2.24.31-1.fc24.x86_64, what is the
> > reason behind the exclusion of GTK2 support in perf?
> 
> It bloats the build requirements for the kernel massively and GTK2 is not a
> long term solution.  If perf were a separate package it might be feasible.

I do know perf is strictly a kernel-related tool, but I wonder why including back GTK2 support would bloat the kernel build. Do you please have a pointer to relative discussion? I could find this:
https://groups.google.com/forum/#!topic/linux.kernel/Cu5aXTrnQGA
«[PATCH] RFC: perf, tools: Move gtk browser into separate perfgtk executable»
where Andi Kleen suggests two binaries are provided, with and without GTK support, and Ingo Molnar proposes splitting them into two packages.

I do agree long-term solutions are good, but we've been with no solution for quite some time now.

What do you mean that perf is not a separate package [from the kernel]? They can be installed separately. A GTK-enables perf package could exist.

Comment 5 Josh Boyer 2016-10-17 13:58:28 UTC
(In reply to Alessandro Selli from comment #4)
> (In reply to Josh Boyer from comment #3)
> > (In reply to Alessandro Selli from comment #2)
> > > (In reply to Josh Boyer from comment #1)
> > > > We build perf with NO_GTK2=1.  It's not a packaging issue.  At best this is
> > > > an RFE but I doubt we'll actually enable support for this at the moment.
> > > 
> > > Given that Fedora 24 ships with gtk2-2.24.31-1.fc24.x86_64, what is the
> > > reason behind the exclusion of GTK2 support in perf?
> > 
> > It bloats the build requirements for the kernel massively and GTK2 is not a
> > long term solution.  If perf were a separate package it might be feasible.
> 
> I do know perf is strictly a kernel-related tool, but I wonder why including
> back GTK2 support would bloat the kernel build. Do you please have a pointer
> to relative discussion? I could find this:

No, this isn't an upstream discussion.  It bloats the buildroot in Fedora by bringing in GTK2, which brings in tons of other peripheral packages and makes it that much more complicated for people to rebuild the kernel on their machines.

> I do agree long-term solutions are good, but we've been with no solution for
> quite some time now.
> 
> What do you mean that perf is not a separate package [from the kernel]? They
> can be installed separately. A GTK-enables perf package could exist.

They are built from the same source, which means build requirements for perf are accounted for in the kernel.spec file.  The perf package is a resulting binary subpackage.

This is simply not a priority.

Comment 6 Alessandro Selli 2016-10-17 14:13:41 UTC
(In reply to Josh Boyer from comment #5)
> (In reply to Alessandro Selli from comment #4)

[...]

> > What do you mean that perf is not a separate package [from the kernel]? They
> > can be installed separately. A GTK-enables perf package could exist.
>
> They are built from the same source, which means build requirements for perf
> are accounted for in the kernel.spec file.  The perf package is a resulting
> binary subpackage.
>
> This is simply not a priority.

I can see that would be a non trivial amount of work, but couldn't perf{,gtk} and the kernel be separate packages built from the same sources *and* different *.spec files?

So far I've been content with Brendan Gregg's FlameGraph scripts (https://github.com/brendangregg/FlameGraph), but I wonder why man perf-report(1) still advertises the --gtk switch as available:

       --gtk
           Use the GTK2 interface.

Comment 7 Josh Boyer 2016-10-17 14:27:59 UTC
(In reply to Alessandro Selli from comment #6)
> (In reply to Josh Boyer from comment #5)
> > (In reply to Alessandro Selli from comment #4)
> 
> [...]
> 
> > > What do you mean that perf is not a separate package [from the kernel]? They
> > > can be installed separately. A GTK-enables perf package could exist.
> >
> > They are built from the same source, which means build requirements for perf
> > are accounted for in the kernel.spec file.  The perf package is a resulting
> > binary subpackage.
> >
> > This is simply not a priority.
> 
> I can see that would be a non trivial amount of work, but couldn't
> perf{,gtk} and the kernel be separate packages built from the same sources
> *and* different *.spec files?

Yes.  But it requires moving perf out of the kernel.spec and doing proper Obsoletes/Provides, which means coordinating such a move and finding someone suitable to maintain perf separately.

> So far I've been content with Brendan Gregg's FlameGraph scripts
> (https://github.com/brendangregg/FlameGraph), but I wonder why man
> perf-report(1) still advertises the --gtk switch as available:
> 
>        --gtk
>            Use the GTK2 interface.

I have no idea.  That is likely an upstream issue.

Comment 8 Alessandro Selli 2016-10-17 14:46:05 UTC
(In reply to Josh Boyer from comment #7)
> (In reply to Alessandro Selli from comment #6)


[...]

> > So far I've been content with Brendan Gregg's FlameGraph scripts
> > (https://github.com/brendangregg/FlameGraph), but I wonder why man
> > perf-report(1) still advertises the --gtk switch as available:
> > 
> >        --gtk
> >            Use the GTK2 interface.
> 
> I have no idea.  That is likely an upstream issue.

Since it is the Fedora perf packagers who decided to exclude GTK2 support by purpose, I think they should update the man page as well.

Should a documentation bug be reported?


Note You need to log in before you can comment on or make changes to this bug.