2009-12-09 22:41:21

by Tim Bird

[permalink] [raw]
Subject: [PATCH 0/4] ftrace - Add function duration tracer to ftrace

I've created a new tracer, called the "function duration" tracer,
which is derived from the existing function graph tracer. The
new feature of this tracer, relative to the function graph tracer,
is that it allows filtering by duration.

The rationale for creating a separate tracer is that some of the
optimizations used for the duration tracer were incompatible with
the function graph tracer. Specifically, I avoid superfluous
calls to the ring_buffer code, avoiding substantial overhead
penalties. Also, this tracer is more suitable for use at
bootup time (I have a set of patches pending which adds support
for that, on ARM).

The output format for the tracer is amenable to grep-ing.
That is, the duration is on the same line as the function name.

For details about this, see my presentation from the Japan Linux
Symposium:
http://elinux.org/images/7/70/Measuring-function-duration-with-ftrace-oct-2009.pdf

with more information available at the elinux wiki page:
http://elinux.org/Ftrace_Function_Graph_ARM

Patches to follow. Thanks.
-- Tim


2009-12-10 03:41:33

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH 0/4] ftrace - Add function duration tracer to ftrace

On Wed, 2009-12-09 at 14:40 -0800, Tim Bird wrote:

> For details about this, see my presentation from the Japan Linux
> Symposium:
> http://elinux.org/images/7/70/Measuring-function-duration-with-ftrace-oct-2009.pdf

This document seems to be corrupted.

-- Steve

2009-12-10 20:22:32

by Tim Bird

[permalink] [raw]
Subject: Re: [PATCH 0/4] ftrace - Add function duration tracer to ftrace

Steven Rostedt wrote:
> On Wed, 2009-12-09 at 14:40 -0800, Tim Bird wrote:
>
>> For details about this, see my presentation from the Japan Linux
>> Symposium:
>> http://elinux.org/images/7/70/Measuring-function-duration-with-ftrace-oct-2009.pdf
>
> This document seems to be corrupted.

Indeed so. Sorry.

It may be moot, given the ensuing discussion (which I'll respond to
shortly), but here's a link to an uncorrupted version:

http://elinux.org/images/3/3e/Measuring-function-duration-with-ftrace-october-2009.pdf

=============================
Tim Bird
Architecture Group Chair, CE Linux Forum
Senior Staff Engineer, Sony Corporation of America
=============================

2009-12-11 02:50:25

by Steven Rostedt

[permalink] [raw]
Subject: Re: [PATCH 0/4] ftrace - Add function duration tracer to ftrace

On Thu, 2009-12-10 at 12:21 -0800, Tim Bird wrote:

> It may be moot, given the ensuing discussion (which I'll respond to
> shortly), but here's a link to an uncorrupted version:
>
> http://elinux.org/images/3/3e/Measuring-function-duration-with-ftrace-october-2009.pdf

I just read your presentation, and I like it :-)

I still feel that we don't want to add another plugin, but as I also
stated, I don't want to stop improving on the current plugins until we
have a better alternative.

Would it be possible in making this an trace option (for now). And then
the function graph tracer would just morph into this duration tracer. No
added plugin, but just an option.

I do see value in this, and I don't want to keep it from making it into
34 just because we plan to some day phase out the plugins. There's too
many times we try to go for broke and end up with nothing at the end.
This is why it took so long for streamline_config to make it in.

Just make any tools that interface with this flexible, (abstract layer)
so that if this does change the tools can cope.

-- Steve