lkml.org 
[lkml]   [2009]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/4] perf tools: Add perf trace

* Frederic Weisbecker <fweisbec@gmail.com> wrote:

> This adds perf trace into the set of perf tools. It is written to
> fetch the tracepoints samples from perf events and display them,
> according to the events informations given by the debugfs files
> through the util/trace* tools.
>
> It is a rough first shot and doesn't yet handle the cpu,
> timestamps fields and some other things.
>
> Example:
>
> perf record -f -e workqueue:workqueue_execution:record -F 1 -a
> perf trace
>
> kblockd/0-236 [000] 0.000000: workqueue_execution: thread=:236 func=cfq_kick_queue+0x0
> kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0
> kondemand/0-360 [000] 0.000000: workqueue_execution: thread=:360 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0
> kondemand/1-361 [000] 0.000000: workqueue_execution: thread=:361 func=do_dbs_timer+0x0

Nice!

> Todo:
>
> - A lot of things!

heh :-)

To help this move forward i've put the patches into
tip:perfcounters/tracing. We might still rebase that branch, should
it become necessary, before merging it into perfcounters/core - but
it should give a first glimpse to people who want to try this.

A first bugreport:

took me some time to figure out that i need to pass in -R to create
a trace.info. I think we want to share the namespace anyway -
there's no real difference between perf.data and trace.info - both
contain trace records.

once i added -R i ran into this problem:

# perf record -R -f -e workqueue:workqueue_execution:record -F 1 -a
^C
[ perf record: Captured and wrote 0.250 MB perf.data (~10928 samples) ]

aldebaran:/home/mingo/linux/linux/tools/perf> perf trace
Fatal: bad op token )
version = 0.5

Some missing patch?

Ingo


\
 
 \ /
  Last update: 2009-08-17 16:43    [W:2.256 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site