All of lore.kernel.org
 help / color / mirror / Atom feed
* Callgraph like kcachegrind
@ 2012-06-28 12:59 Christoph Bartoschek
  2012-07-05  0:44 ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 9+ messages in thread
From: Christoph Bartoschek @ 2012-06-28 12:59 UTC (permalink / raw)
  To: linux-perf-users

Hi,

is it somehow possible to get a callgraph like gets it from kcachegrind?

I tried to use -g/-G on a program that runs but the information is not as 
expected. I do not see how the 100% runtime of main() is distributed.

Christoph

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Callgraph like kcachegrind
  2012-06-28 12:59 Callgraph like kcachegrind Christoph Bartoschek
@ 2012-07-05  0:44 ` Arnaldo Carvalho de Melo
  2012-07-06  0:27   ` Namhyung Kim
  2012-07-23 13:28   ` Callgraph like kcachegrind Mark Hills
  0 siblings, 2 replies; 9+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-07-05  0:44 UTC (permalink / raw)
  To: Christoph Bartoschek; +Cc: linux-perf-users

Em Thu, Jun 28, 2012 at 02:59:39PM +0200, Christoph Bartoschek escreveu:
> Hi,
> 
> is it somehow possible to get a callgraph like gets it from kcachegrind?
> 
> I tried to use -g/-G on a program that runs but the information is not as 
> expected. I do not see how the 100% runtime of main() is distributed.

This is a feature we should have, but till then I think there is a
script out there that does that, lemme try to google that, gack, I know
there is one, but 'perf tools' really isn't google friendly, anyone?

- Arnaldo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Callgraph like kcachegrind
  2012-07-05  0:44 ` Arnaldo Carvalho de Melo
@ 2012-07-06  0:27   ` Namhyung Kim
  2012-07-06  0:50     ` Arun Sharma
  2012-07-23 13:28   ` Callgraph like kcachegrind Mark Hills
  1 sibling, 1 reply; 9+ messages in thread
From: Namhyung Kim @ 2012-07-06  0:27 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Christoph Bartoschek, linux-perf-users, Arun Sharma

On Wed, 4 Jul 2012 21:44:28 -0300, Arnaldo Carvalho de Melo wrote:
> Em Thu, Jun 28, 2012 at 02:59:39PM +0200, Christoph Bartoschek escreveu:
>> is it somehow possible to get a callgraph like gets it from kcachegrind?
>> 
>> I tried to use -g/-G on a program that runs but the information is not as 
>> expected. I do not see how the 100% runtime of main() is distributed.
>
> This is a feature we should have, but till then I think there is a
> script out there that does that, lemme try to google that, gack, I know
> there is one, but 'perf tools' really isn't google friendly, anyone?
>

I saw Arun posted a kind of cumulative (or inclusive) call graph patch
long ago. I guess it'd be the first step to have the feature like above.
And IIRC Ingo wanted to have it too.

Arun, what's the state of the patch?

Thanks,
Namhyung

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Callgraph like kcachegrind
  2012-07-06  0:27   ` Namhyung Kim
@ 2012-07-06  0:50     ` Arun Sharma
  2012-07-06  1:28       ` Namhyung Kim
  0 siblings, 1 reply; 9+ messages in thread
From: Arun Sharma @ 2012-07-06  0:50 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Arnaldo Carvalho de Melo, Christoph Bartoschek, linux-perf-users

On 7/5/12 5:27 PM, Namhyung Kim wrote:
> On Wed, 4 Jul 2012 21:44:28 -0300, Arnaldo Carvalho de Melo wrote:
>> Em Thu, Jun 28, 2012 at 02:59:39PM +0200, Christoph Bartoschek escreveu:
>>> is it somehow possible to get a callgraph like gets it from kcachegrind?
>>>
>>> I tried to use -g/-G on a program that runs but the information is not as
>>> expected. I do not see how the 100% runtime of main() is distributed.
>>
>> This is a feature we should have, but till then I think there is a
>> script out there that does that, lemme try to google that, gack, I know
>> there is one, but 'perf tools' really isn't google friendly, anyone?
>>
>
> I saw Arun posted a kind of cumulative (or inclusive) call graph patch
> long ago. I guess it'd be the first step to have the feature like above.
> And IIRC Ingo wanted to have it too.
>
> Arun, what's the state of the patch?
>

http://thread.gmane.org/gmane.linux.kernel.perf.user/882 is the most 
recent patch I posted.

The last comments I got were:

* Use a global flag instead of a sort mode
* Try to integrate with LBR, branch filtering mode.

Unfortunately, I'm tied up with other projects right now and am not able 
to finish this up. Happy to answer questions about the patch if anyone 
wants to take it over.

http://thread.gmane.org/gmane.linux.kernel.perf.user/857 (callgraph 
filtering) is also related.

  -Arun

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Callgraph like kcachegrind
  2012-07-06  0:50     ` Arun Sharma
@ 2012-07-06  1:28       ` Namhyung Kim
  2012-07-06  7:40         ` Frederic Weisbecker
  0 siblings, 1 reply; 9+ messages in thread
From: Namhyung Kim @ 2012-07-06  1:28 UTC (permalink / raw)
  To: Arun Sharma
  Cc: Arnaldo Carvalho de Melo, Christoph Bartoschek, linux-perf-users

Hi,

On Fri, Jul 6, 2012 at 9:50 AM, Arun Sharma <asharma@fb.com> wrote:
> On 7/5/12 5:27 PM, Namhyung Kim wrote:
>>
>> On Wed, 4 Jul 2012 21:44:28 -0300, Arnaldo Carvalho de Melo wrote:
>>>
>>> Em Thu, Jun 28, 2012 at 02:59:39PM +0200, Christoph Bartoschek escreveu:
>>>>
>>>> is it somehow possible to get a callgraph like gets it from kcachegrind?
>>>>
>>>> I tried to use -g/-G on a program that runs but the information is not
>>>> as
>>>> expected. I do not see how the 100% runtime of main() is distributed.
>>>
>>>
>>> This is a feature we should have, but till then I think there is a
>>> script out there that does that, lemme try to google that, gack, I know
>>> there is one, but 'perf tools' really isn't google friendly, anyone?
>>>
>>
>> I saw Arun posted a kind of cumulative (or inclusive) call graph patch
>> long ago. I guess it'd be the first step to have the feature like above.
>> And IIRC Ingo wanted to have it too.
>>
>> Arun, what's the state of the patch?
>>
>
> http://thread.gmane.org/gmane.linux.kernel.perf.user/882 is the most recent
> patch I posted.
>
> The last comments I got were:
>
> * Use a global flag instead of a sort mode
> * Try to integrate with LBR, branch filtering mode.
>
> Unfortunately, I'm tied up with other projects right now and am not able to
> finish this up. Happy to answer questions about the patch if anyone wants to
> take it over.
>

Ok, I'll try to look at it.


> http://thread.gmane.org/gmane.linux.kernel.perf.user/857 (callgraph
> filtering) is also related.
>

And this one once the above gets settled.

Thanks,
Namhyung

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Callgraph like kcachegrind
  2012-07-06  1:28       ` Namhyung Kim
@ 2012-07-06  7:40         ` Frederic Weisbecker
  2012-07-06 14:58           ` Stand alone perf.data parser (Was Re: Callgraph like kcachegrind) Arun Sharma
  0 siblings, 1 reply; 9+ messages in thread
From: Frederic Weisbecker @ 2012-07-06  7:40 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Arun Sharma, Arnaldo Carvalho de Melo, Christoph Bartoschek,
	linux-perf-users

On Fri, Jul 06, 2012 at 10:28:28AM +0900, Namhyung Kim wrote:
> Hi,
> 
> On Fri, Jul 6, 2012 at 9:50 AM, Arun Sharma <asharma@fb.com> wrote:
> > On 7/5/12 5:27 PM, Namhyung Kim wrote:
> >>
> >> On Wed, 4 Jul 2012 21:44:28 -0300, Arnaldo Carvalho de Melo wrote:
> >>>
> >>> Em Thu, Jun 28, 2012 at 02:59:39PM +0200, Christoph Bartoschek escreveu:
> >>>>
> >>>> is it somehow possible to get a callgraph like gets it from kcachegrind?
> >>>>
> >>>> I tried to use -g/-G on a program that runs but the information is not
> >>>> as
> >>>> expected. I do not see how the 100% runtime of main() is distributed.
> >>>
> >>>
> >>> This is a feature we should have, but till then I think there is a
> >>> script out there that does that, lemme try to google that, gack, I know
> >>> there is one, but 'perf tools' really isn't google friendly, anyone?
> >>>
> >>
> >> I saw Arun posted a kind of cumulative (or inclusive) call graph patch
> >> long ago. I guess it'd be the first step to have the feature like above.
> >> And IIRC Ingo wanted to have it too.
> >>
> >> Arun, what's the state of the patch?
> >>
> >
> > http://thread.gmane.org/gmane.linux.kernel.perf.user/882 is the most recent
> > patch I posted.
> >
> > The last comments I got were:
> >
> > * Use a global flag instead of a sort mode
> > * Try to integrate with LBR, branch filtering mode.
> >
> > Unfortunately, I'm tied up with other projects right now and am not able to
> > finish this up. Happy to answer questions about the patch if anyone wants to
> > take it over.
> >
> 
> Ok, I'll try to look at it.
> 
> 
> > http://thread.gmane.org/gmane.linux.kernel.perf.user/857 (callgraph
> > filtering) is also related.
> >
> 
> And this one once the above gets settled.

Another thing that could be interesting is a perf output mode that dumps
informations in the Kcachegrind format: http://kcachegrind.sourceforge.net/html/CallgrindFormat.html
so that Kcachegrind can open it.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Stand alone perf.data parser (Was Re: Callgraph like kcachegrind)
  2012-07-06  7:40         ` Frederic Weisbecker
@ 2012-07-06 14:58           ` Arun Sharma
  2012-07-06 15:12             ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 9+ messages in thread
From: Arun Sharma @ 2012-07-06 14:58 UTC (permalink / raw)
  To: Frederic Weisbecker
  Cc: Namhyung Kim, Arnaldo Carvalho de Melo, Christoph Bartoschek,
	linux-perf-users

On 7/6/12 12:40 AM, Frederic Weisbecker wrote:
> Another thing that could be interesting is a perf output mode that dumps
> informations in the Kcachegrind format: http://kcachegrind.sourceforge.net/html/CallgrindFormat.html
> so that Kcachegrind can open it.

I spent a night couple of months ago hacking on this:
https://github.com/adsharma/py-perf-parser

It needs to be combined with code that can symbolize raw IP addresses to 
make it more useful (pydevtools, pyelftools or parts of perf exported as 
a library)

Thought I'd post it here, so folks interested in transforming perf.data 
into something else can hack on it.

  -Arun

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Stand alone perf.data parser (Was Re: Callgraph like kcachegrind)
  2012-07-06 14:58           ` Stand alone perf.data parser (Was Re: Callgraph like kcachegrind) Arun Sharma
@ 2012-07-06 15:12             ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 9+ messages in thread
From: Arnaldo Carvalho de Melo @ 2012-07-06 15:12 UTC (permalink / raw)
  To: Arun Sharma
  Cc: Frederic Weisbecker, Namhyung Kim, Christoph Bartoschek,
	linux-perf-users

Em Fri, Jul 06, 2012 at 07:58:07AM -0700, Arun Sharma escreveu:
> On 7/6/12 12:40 AM, Frederic Weisbecker wrote:
> >Another thing that could be interesting is a perf output mode that dumps
> >informations in the Kcachegrind format: http://kcachegrind.sourceforge.net/html/CallgrindFormat.html
> >so that Kcachegrind can open it.
> 
> I spent a night couple of months ago hacking on this:
> https://github.com/adsharma/py-perf-parser
> 
> It needs to be combined with code that can symbolize raw IP
> addresses to make it more useful (pydevtools, pyelftools or parts of
> perf exported as a library)

yeah, the symbols code needs some love and care so that it can be
librarified, my plans are to have it available via the perf.so python
binding first, 'perf script' could then use it as well.

I.e. process PERF_RECORD_{MMAP,FORK,EXIT} events just like the tools do
so that any adjustments needed to do symbol resolution are done, etc.

Perhaps after vacations 8-)
 
> Thought I'd post it here, so folks interested in transforming
> perf.data into something else can hack on it.

- Arnaldo

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Callgraph like kcachegrind
  2012-07-05  0:44 ` Arnaldo Carvalho de Melo
  2012-07-06  0:27   ` Namhyung Kim
@ 2012-07-23 13:28   ` Mark Hills
  1 sibling, 0 replies; 9+ messages in thread
From: Mark Hills @ 2012-07-23 13:28 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo; +Cc: Christoph Bartoschek, linux-perf-users

On Wed, 4 Jul 2012, Arnaldo Carvalho de Melo wrote:

> Em Thu, Jun 28, 2012 at 02:59:39PM +0200, Christoph Bartoschek escreveu:
> > Hi,
> > 
> > is it somehow possible to get a callgraph like gets it from kcachegrind?
> > 
> > I tried to use -g/-G on a program that runs but the information is not as 
> > expected. I do not see how the 100% runtime of main() is distributed.
> 
> This is a feature we should have, but till then I think there is a
> script out there that does that, lemme try to google that, gack, I know
> there is one, but 'perf tools' really isn't google friendly, anyone?

Perhaps you mean gprof2dot. I have been using it very successfully, 
although I find it sensitive to changes in perf; it may need updating for 
the most recent changes.

http://code.google.com/p/jrfonseca/wiki/Gprof2Dot

-- 
Mark

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-07-23 14:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-28 12:59 Callgraph like kcachegrind Christoph Bartoschek
2012-07-05  0:44 ` Arnaldo Carvalho de Melo
2012-07-06  0:27   ` Namhyung Kim
2012-07-06  0:50     ` Arun Sharma
2012-07-06  1:28       ` Namhyung Kim
2012-07-06  7:40         ` Frederic Weisbecker
2012-07-06 14:58           ` Stand alone perf.data parser (Was Re: Callgraph like kcachegrind) Arun Sharma
2012-07-06 15:12             ` Arnaldo Carvalho de Melo
2012-07-23 13:28   ` Callgraph like kcachegrind Mark Hills

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.