This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Ftrace and Systemtap


Hi Steve,

swb6@aber.ac.uk wrote:
> Hi,
> I am currently writing up my
> dissertation based on dynamic tracing and reducing the learning curve to
> understanding the UNIX kernel. I used two dynamic tracing technologies
> (Systemtap and Dtrace) to monitor some virtual machines on a network.
> Whilst going over my initial review of technologies in the area of dynamic
> tracing I realised I had underestimated ftrace, and even dismissed it as
> not being dynamic. However I read here (http://lwn.net/Articles/343766/)
> that you were as of July last year trying to introduce a patch that would
> allow ftrace the ability to dynamically trace. Also it would be completely
> instrumented from the command line without the need to compile a kernel
> module al la Systemtap.

Right, dynamic event tracer allows ftrace to add new events online.
Even though it requires debuginfo, it doesn't need any kernel build
environment.

> My question is do you think Systemtap will be replaced by ftrace in the
> future if so I feel I may need to include this fact in my updated
> technology review.

Good question.

Ftrace dynamic tracer may be enough for 80% of kernel developers,
but Systemtap has other advantages, e.g. fault injection, pre-recording
scripting, multiple instances etc. Some of these advantages are just
not implemented on ftrace yet, and some of them can not be implemented
on ftrace. Even if ftrace implements it, systemtap team can port stap
script engine on it.
So, the *technical* answer is no.

However, there is another issue between systemtap project and kernel
development. Since both projects are asynchronously developed,
I always hear complaints which systemtap can't be used for the latest
developing kernel. And yes, that's true.

And now, ftrace and perf tools are the primary tracing tools for linux
kernel (at least for kernel developers). New tracing features without
them will NOT be merged into upstream anymore. That means systemtap
can't add any new facilities without implementing it on ftrace/perf-tools.
IOW, systemtap development already depends on ftrace/perf.
(This is why I'm working on that.)
 
So, I don't have any simple answer for your question. What I can
say is that ftrace never be replaced by systemtap anymore. :-)

Thank you,

-- 
Masami Hiramatsu
e-mail: mhiramat@redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]