On Tue, Jan 12, 2010 at 12:08:53AM -0500, Steven Rostedt wrote:> On Tue, 2010-01-12 at 05:54 +0100, Frederic Weisbecker wrote:> > > Now what if I want to launch ls and want to profile a function> > inside. What can I do with a trace event. I can't create the> > probe event based on a pid as I don't know it in advance.> > I could give it the ls cmdline and it manages to activate> > on the next ls launched. This is racy as another ls can> > be launched concurrently.> > You make a wrapper script:> > #!/bin/sh> <add probe to ls with pid> $$> exec $*> > I do this all the time to limit the function tracer to a specific app.> > #!/bin/sh> echo $$ > /debug/tracing/set_ftrace_pid> echo function > /debug/tracing/current_tracer> exec $*> > > The exec will cause the ls to have the pid of $$.

Sounds like a good idea. In this case we could indeedthink about a trace event.

It would typically have the benefit to have the sameinterface than kprobes.

We can use it with perf, the only constraint is that we needto launch the record right after creating the trace event.Or we can pre-create them and set the pid of the targetlater when we launch perf record.