Introducing new filtering architecture.
Masatake YAMATO
yamato at redhat.com
Sun Jun 4 18:32:57 UTC 2017
Hi,
I'm happy if the new filtering architecture can control the output of -k option, too.
Currently with -k option strace prints stack traces for ALL calls that are
filtered by -e option.
Ideally with -k option strace prints stack traces for SUBSET of the calls that
are filtered by -e option.
It is nice that -k own filtering rule can be defined.
Masatake YAMATO
On Sun, 4 Jun 2017 13:15:05 +0700, Nikolay Marchuk <marchuk.nikolay.a at gmail.com> wrote:
> Hello,
> This message describes new filtering architecture. Please, review it and
> give me feedback.
>
> Filtering language.
> The format of new filtering expression is:
>
> action(expr [, argument1=value1[,argument2=value2]...)
> where action is equal with 'qualifier', expr is boolean expression with
> pcap-filter[1] syntax with strace primitives and optional arguments are
> action-specific.
>
> Expression primitives.
> *syscall set_of_syscalls
> *class syscall_class
> *regex /regex
> *path path
> *fd set_of_fds
> *signal set_of_signals
> caller pid
> callnum [<=, >=] number
> command cmd
> ...
> Primitives marked with * are already supported by strace for some
> qualifiers.
>
> Filtering architecture.
> The new entry point of filtering is filter_main() in
> trace_syscall_entering after getting arguments of syscall. It runs every
> filter action and set tcp->qual_flg value.
> Filter actions have boolean expression and filters attached to it. Each
More information about the Strace-devel
mailing list