linux/tools/perf
Masami Hiramatsu 68baa431ec perf tools: Add strfilter for general purpose string filter
Add strfilter for general purpose string filter.

Every filter rules are descrived by glob matching pattern and '!' prefix
which means Logical NOT.

A strfilter consists of those filter rules connected with '&' and '|'.

A set of rules can be folded by using '(' and ')'.

It also accepts spaces around rules and those operators.

Format:
<rule> ::= <glob-exp> | "!" <rule> | <rule> <op> <rule> | "(" <rule> ")"
<op> ::= "&" | "|"

e.g.:

 "(add* | del*) & *timer" filter rules pass strings which start with add
 or del and end with timer.

This will be used by perf probe --filter.

Changes in V2:
 - Fix to check result of strdup() and strfilter__alloc().
 - Encapsulate and simplify interfaces as like regex(3).

Cc: 2nddept-manager@sdl.hitachi.co.jp
Cc: Franck Bui-Huu <fbuihuu@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
LKML-Reference: <20110120141530.25915.12673.stgit@ltc236.sdl.hitachi.co.jp>
Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2011-01-28 09:19:38 -02:00
..
Documentation perf probe: Add --funcs to show available functions in symtab 2011-01-24 10:57:55 -02:00
arch [S390] perf: add DWARF register lookup for s390 2011-01-05 12:47:31 +01:00
bench perf bench: Add feature that measures the performance of the arch/x86/lib/memcpy_64.S memcpy routines via 'perf bench mem' 2010-11-26 08:15:57 +01:00
scripts perf script: Finish the rename from trace to script 2010-12-25 11:29:02 -02:00
util perf tools: Add strfilter for general purpose string filter 2011-01-28 09:19:38 -02:00
.gitignore perf tools: .gitignore += config.make config.make.autogen 2010-06-17 10:24:31 -03:00
CREDITS perf_counter tools: Add CREDITS file for Git contributors 2009-06-24 19:54:29 +02:00
MANIFEST perf packaging: add memcpy to perf MANIFEST 2010-11-30 23:00:10 -02:00
Makefile perf tools: Add strfilter for general purpose string filter 2011-01-28 09:19:38 -02:00
builtin-annotate.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
builtin-bench.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-buildid-cache.c perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
builtin-buildid-list.c Merge commit 'v2.6.37-rc8' into perf/core 2011-01-04 08:08:54 +01:00
builtin-diff.c perf symbols: Add symfs option for off-box analysis using specified tree 2010-12-21 20:17:51 -02:00
builtin-help.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-inject.c perf session: Fallback to unordered processing if no sample_id_all 2010-12-21 20:17:51 -02:00
builtin-kmem.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
builtin-kvm.c perf options: Type check all the remaining OPT_ variants 2010-05-17 16:22:41 -03:00
builtin-list.c perf list: Fix large list output by using the pager 2009-08-13 09:05:48 +02:00
builtin-lock.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
builtin-probe.c perf probe: Add --funcs to show available functions in symtab 2011-01-24 10:57:55 -02:00
builtin-record.c perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
builtin-report.c perf callchain: Rename register_callchain_param into callchain_register_param 2011-01-22 19:56:31 -02:00
builtin-sched.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
builtin-script.c perf tools: Fix 64 bit integer format strings 2011-01-22 23:41:57 -02:00
builtin-stat.c perf threads: Move thread_map to separate file 2011-01-24 10:59:00 -02:00
builtin-test.c perf tools: Move event__parse_sample to evsel.c 2011-01-24 13:17:56 -02:00
builtin-timechart.c perf timechart: Adjust perf timechart to the new power events 2011-01-04 08:16:54 +01:00
builtin-top.c perf tools: Move event__parse_sample to evsel.c 2011-01-24 13:17:56 -02:00
builtin.h perf: Rename 'perf trace' to 'perf script' 2010-11-16 19:37:44 +01:00
command-list.txt Merge branch 'perf/rename' into perf/core 2010-12-01 09:22:19 +01:00
design.txt perf: Fix few typos + cosmetics 2010-01-13 17:39:44 +01:00
feature-tests.mak perf tools: Remove hardcoded include paths for elfutils 2010-11-19 16:38:04 -02:00
perf-archive.sh perf buildid: add perfconfig option to specify buildid cache dir 2010-06-05 09:34:04 -03:00
perf.c perf evsel: Fix order of event list deletion 2011-01-11 12:51:03 -02:00
perf.h perf record: Move perf_mmap__write_tail to perf.h 2011-01-22 19:56:29 -02:00