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 $$. -- Steve > > So I can only say there that an ftrace plugin or an ftrace trace > event would be only a half-useful interface to exploit utrace > possibilities because it only lets us trace already running > apps. Moreover I bet the most chosen workflow to profile/trace > uprobes is by launching an app and profile it from the beginning, > not by profiling an already running one, which makes an ftrace > interface even less than half useful there. > > ftrace is cool to trace the kernel, but this kind of tricky > userspace tracing workflow is not adapted to it. > > What do you think? >