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: [UPDATE] Linux Kernel Event Trace tool(LKET)


Hi Li,

Currently I am working on a few generic tapsets, and there appears to be
some overlap with what you've done.  For example, earlier this week I
checked in a process tapset.  This should be able to give you the fork
and exec events you're using in LKET.

Thang and I are also working on IO, scheduler, networking, and VM
tapsets, but we don't have anything ready to check in yet.  I will
definitely take a look at what you've provided though, and leverage that
which overlaps.

I think it would be great to have LKET as a tapset, but I would like to
see a more layered approach.  What you've given is very specific to
tracing, but the events that you probe have a more general audience as
well.  A broader approach would be to implement the events as general
tapsets, and then build LKET as a layer on top of the base tapsets.

The syscalls are a good example of this -- in LKET you've captured
syscalls using function wildcards.  However, we have the syscall tapset
that has already gone through pains to define all of the actual system
calls available.  If we run into syscall issues in the future, it would
be much nicer to need only fix the syscall tapset, and let LKET benefit
from that.  So instead of probing 'kernel.function("sys_*")', you should
use 'syscall.*'.  And if there are reasons why this doesn't work well
for you, let's address that rather than duplicating efforts.


Josh


On Thursday, May 11, 2006 1:25 AM, Li Guanglei wrote:
> Hi folks,
> 
>   This is the updated version of LKET. Compared with the previous
> version, it includes the following enhancements:
>   1. more event hooks
>   2. binary tracing for better performance
>   3. other performance enhancements & bugfixes
>   4. more backtrace support
>   5. a b2a converter to merge per-cpu files and convert binary format
> into ASCII format
> 
>   Currently LKET is actually a collection of SystemTap tapsets which
> are used to trace various events inside the kernel and generate the
> tracing data. This tool aims to provide an easy way to trace various
> events inside the kernel for the purpose of performance analysis.
> 
>   Since LKET is an extension to the tapsets library available on
> SystemTap, I hope LKET could go into SystemTap's tapsets library. So
> it will make SystemTap more easier to use even for those who don't
> know much about Linux Kernel internal, and thus benefit more people.
> Any comments about this proposal?
> 
>  Here's the events being implemented by now:
> 
>  System Call:
>     entry of syscall
>     return of syscall
>  Process Creation:
>     fork
>     execve
>  IO Scheduler:
>     a request is retrieved from request queue
>     a request is added to the request queue
>     a request is completed
>  Task Dispatching(scheduler):
>     context switch
>     cpu goes idle
>  Scsi Activities
>     mid-layer prepared a IO request
>     Dispatch a command to the LLD
>     I/O is done by LLD
>     mid-layer processes the completed IO
>  Pagefault
>     a pagefault is taking place
>  Networking Device
>     network device receives a packet
>     a packet will be sent out by network device
> 
>  During the LKET work, we also did some testing for overhead &
> accuracy. I planned to disclose the overhead testing result of LKET in
> the next couple of days.
> 
>  I attached the tgz package of LKET since the # of files is a little
> big. 
> 
>  Suggestions, Comments, Flames are welcome. And thanks in advance
> for your help.


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