This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: ideas of filter in Linux Kernel Event Trace tool
- From: Mathieu Desnoyers <compudj at krystal dot dyndns dot org>
- To: Guanglei Li <guanglei at cn dot ibm dot com>
- Cc: systemtap at sources dot redhat dot com, Martin Peschke <mp3 at de dot ibm dot com>, jrs at us dot ibm dot com
- Date: Fri, 13 Jan 2006 10:34:11 -0500
- Subject: Re: ideas of filter in Linux Kernel Event Trace tool
- References: <005b01c61854$91db0f90$d552b509@siemensswallow>
* 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