Re: adding trace-cmd's plugins to perf

From: Frederic Weisbecker
Date: Tue Apr 12 2011 - 12:22:57 EST


On Sat, Apr 09, 2011 at 09:50:29PM -0600, David Ahern wrote:
> Right now perf script cannot process kvm tracepoints:
>
> perf record -e kvm:* -p 6446 -- sleep 5
>
> perf script
> Warning: Error: expected type 4 but read 7
> Warning: Error: expected type 5 but read 0
> Warning: failed to read event print fmt for kvm_apic
> Warning: Error: expected type 4 but read 7
> Warning: Error: expected type 5 but read 0
> Warning: failed to read event print fmt for kvm_inj_exception
> Fatal: bad op token {
>
> trace-cmd can parse the events through the kvm plugin.
>
> As I understand it trace-cmd and perf have a lot of similar code, so I
> would expect to be able to add the plugin capability to perf somewhat
> easily. However, that does not seem to be the right thing to do (copying
> yet more code between the two).
>
> Before I invest a lot of time on this path I figured I should ask what
> the intentions (roadmap seems to be too formal a word ;-))

Hehe :)

> are about merging common code between the two commands. Also, trace-cmd and perf
> are in separate repositories so a shared lib is going to inconvenience
> one of the two.

So, we copied the tools/perf/util/trace-event-* files from trace-cmd to perf
a while go. Then both files took their own path, both pulling fixes/enhancement
from each others (probably more in the trace-cmd -> perf direction).

And perf is indeed a bit backward wrt parsing, because it lacks those plugins
for example. So now it would be nice to unify that in a common lib so that it
works well in both.

Steve proposed a shared tools/trace.so, that perf and trace-cmd could plug
into, I really would like to see that happening too.

I think Ingo had some reserves about this, due to potential versioning
and compatibility that such a dynamic lib would involve.

However, this seems to me a very important and necessary step to unify our
tools.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/