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


On Thu, Feb 28, 2008 at 11:40:21AM -0800, David Wilder wrote:
> 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.
>
Dave,
	I might also want to add to the discussion by stating that you
will find a user for the 'trace' infrastructure in the marker handler 
code of the proposed markers for futex subsystem. I hope to post the 
patches soon to the community.

Thanks,
K.Prasad
 


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