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: [PATCH 0/3] A kernel tracing interface


Andrew Morton wrote:
On Tue, 26 Feb 2008 14:38:37 -0800 "David J. Wilder" <dwilder@us.ibm.com> wrote:

These patches provide a kernel tracing interface called "trace".

ChangeLog:
-Updated to 2.6.25-rc2-mm1
-Removed sem_watch example, to hard to maintain.
-Added a new example that demonstrates per-cpu continuous tracing
 of data generated using marker probes.
-Removed inline from relay patch.
-Moved examples into /sample directory.

The motivation for "trace" is to:
- Provide a simple set of tracing primitives that will utilize the high-
  performance and low-overhead of relayfs for passing traces data from
  kernel to user space.
- Provide a common user interface for managing kernel traces.
- Allow for binary as well as ascii trace data.
- Incorporate features from the systemtap runtime that are
  useful to others.

So... what's the story on this versus lttng?

Trace is simpler to use and a smaller bit of code than lttng.
It may not have all the features of lttng but it is good starting point that can be expanded upon. I have several users of trace that just wanted a simple way to get data out of the kernel without the overhead of lttng trace is working well for them. Trace also works well with markers and kprobes. For example systemtap is is using the basic trace code to gather data from kprobes and markers.

Is there some userspace code available for people to test this? Maybe it's mentioned and I missed it.

I purposely designed trace so no special user code is required to gather trace data. Standard user utilities like cat, grep, sort and more is all that is needed. I show an example in /samples/trace/fork_trace.c.


However since trace uses relay as its transport any user interfaces provided by relay can be used to read trace data. (documented in /Documentation/relay.txt)


It'd be interesting to see a writeup of the proposed kernel<->userspace interfaces. I see a description of kernel-internal interfaces, but how do users use it?

I will add some text in the documentation.

I see it uses things from blktrace. Can blktrace be switched over to being a client of this code?

yep.



-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



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