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: ideas of filter in Linux Kernel Event Trace tool


* Guanglei Li (guanglei@cn.ibm.com) wrote:
> Hi folks,
>  As discussed in the topic "per-entity statistics", I think it's better for 
>  this trace tool to have a flexible filter facility. So that the user could 
> filter out those events he doesn't care about, and at the same time, it 
> also helps reduce the overhead of this trace tool.
>  But an easy-to-use and flexible filter facility is not so easy to design. 

Just to throw in some ideas :

We had to design a filter module in the LTTV user space trace analyser. As is
had to be applied on huge amount of data, it had to be performant.

That's why we chose a design that implies precomputing boolean expressions into
a nearly optimal tree where inner nodes are boolean operations and leaves 
contains tuples of value, operations and offsets into the event structure.

I think it could be performant enough to be used in your tapsets.

See the filter design and code at http://ltt.polymtl.ca.

(the design is in French :
http://ltt.polymtl.ca/svn/ltt/branches/poly/doc/developer/filter_specification.docbook)

Note that the implementation does not support event specific data yet, but it's
planned in the design.

Mathieu


OpenPGP public key:              http://krystal.dyndns.org:8080/key/compudj.gpg
Key fingerprint:     8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68 


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