linux/tools/perf/tests
Wang Nan 10bf358a1b perf tools: Enable config raw and numeric events
This patch allows setting config terms for raw and numeric events.
For example:

  # perf stat -e cycles/name=cyc/ ls
  ...
  1821108      cyc
  ...

  # perf stat -e r6530160/name=event/ ls
  ...
  1103195      event
  ...

  # perf record -e cycles -e 4:0x6530160/name=evtx,call-graph=fp/ -a sleep 1
  ...
  # perf report --stdio
  ...
  # Samples: 124  of event 'cycles'
  46.61%     0.00%  swapper        [kernel.vmlinux]            [k] cpu_startup_entry
  41.26%     0.00%  swapper        [kernel.vmlinux]            [k] start_secondary
  ...
  # Samples: 91  of event 'evtx'
  ...
  93.76%     0.00%  swapper      [kernel.vmlinux]            [k] cpu_startup_entry
          |
          ---cpu_startup_entry
             |
             |--66.63%--call_cpuidle
             |          cpuidle_enter
             |          |
  ...

3 test cases are introduced to test config terms for symbol, raw and
numeric events.

Committer note:

Further testing shows that we can retrieve the event name using 'perf
evlist -v' and looking at the 'config' perf_event_attr field, i.e.:

  # perf record -e cycles -e 4:0x6530160/name=evtx,call-graph=fp/ -a sleep 1
  [ perf record: Woken up 1 times to write data ]
  [ perf record: Captured and wrote 1.724 MB perf.data (2076 samples) ]
  # perf evlist
  cycles
  evtx
  # perf evlist -v
  cycles: size: 112, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CPU|PERIOD|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, mmap: 1, comm: 1, freq: 1, task: 1, sample_id_all: 1, exclude_guest: 1, mmap2: 1, comm_exec: 1
evtx: type: 4, size: 112, config: 0x6530160, { sample_period, sample_freq }: 4000, sample_type: IP|TID|TIME|CALLCHAIN|CPU|PERIOD|IDENTIFIER, read_format: ID, disabled: 1, inherit: 1, freq: 1, sample_id_all: 1, exclude_guest: 1
  #

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexei Starovoitov <ast@kernel.org>
Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
Cc: Cody P Schafer <dev@codyps.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Jeremie Galarneau <jeremie.galarneau@efficios.com>
Cc: Kirill Smelkov <kirr@nexedi.com>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1455882283-79592-13-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2016-02-19 19:12:50 -03:00
..
attr perf tests: Fix attr tests 2015-04-08 10:49:53 -03:00
.gitignore perf test: Add libbpf relocation checker 2016-01-26 12:10:55 -03:00
attr.c perf subcmd: Create subcmd library 2015-12-17 14:27:14 -03:00
attr.py perf tools: Remove EOL whitespaces 2015-01-21 13:24:31 -03:00
bp_signal_overflow.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
bp_signal.c perf tests: Fix build on older systems where 'signal' is reserved 2016-02-15 17:33:26 -03:00
bpf-script-example.c perf test: Enhance the LLVM test: update basic BPF test program 2015-11-06 17:49:24 -03:00
bpf-script-test-kbuild.c perf test: Enhance the LLVM tests: add kbuild test 2015-11-06 17:49:50 -03:00
bpf-script-test-prologue.c perf test: Test the BPF prologue adding infrastructure 2015-11-18 17:51:04 -03:00
bpf-script-test-relocation.c perf test: Add libbpf relocation checker 2016-01-26 12:10:55 -03:00
bpf.c perf test: Check environment before start real BPF test 2016-01-29 17:25:43 -03:00
Build perf test: Add libbpf relocation checker 2016-01-26 12:10:55 -03:00
builtin-test.c perf tools: Add event_update event unit type 2015-12-17 15:11:10 -03:00
code-reading.c perf test: Reduce the sample_freq for the 'object code reading' test 2016-02-19 19:12:44 -03:00
cpumap.c perf cpu_map: Add cpu_map__new_event function 2015-12-17 14:38:18 -03:00
dso-data.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
dwarf-unwind.c perf test: Use machine__new_host in dwarf unwind test 2015-12-07 18:12:54 -03:00
event_update.c perf tools: Add event_update event cpus type 2015-12-17 15:13:38 -03:00
evsel-roundtrip-name.c perf test: Prevent using bpf-output event in round trip name test 2015-12-07 18:12:56 -03:00
evsel-tp-sched.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
fdarray.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
hists_common.c perf test: Fix false TEST_OK result for 'perf test hist' 2016-01-11 19:22:22 -03:00
hists_common.h perf tests: Define and use symbolic names for fake symbols 2014-06-01 14:35:11 +02:00
hists_cumulate.c perf hists: Introduce perf_evsel__output_resort function 2016-02-03 11:13:11 -03:00
hists_filter.c perf hists: Introduce perf_evsel__output_resort function 2016-02-03 11:13:11 -03:00
hists_link.c perf test: Reset err after using it hold errcode in hist testcases 2016-01-11 19:22:22 -03:00
hists_output.c perf hists: Introduce perf_evsel__output_resort function 2016-02-03 11:13:11 -03:00
keep-tracking.c perf evlist: Remove perf_evlist__(enable|disable)_event functions 2016-01-08 14:15:43 -03:00
kmod-path.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
llvm.c perf test: Add libbpf relocation checker 2016-01-26 12:10:55 -03:00
llvm.h perf test: Add libbpf relocation checker 2016-01-26 12:10:55 -03:00
make perf build: Add libcrypto feature detection 2016-02-05 09:46:45 -03:00
mmap-basic.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
mmap-thread-lookup.c perf test: Use machine__new_host in mmap thread lookup test 2015-12-07 18:12:54 -03:00
openat-syscall-all-cpus.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
openat-syscall-tp-fields.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
openat-syscall.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
parse-events.c perf tools: Enable config raw and numeric events 2016-02-19 19:12:50 -03:00
parse-no-sample-id-all.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
perf-record.c perf test: No need for setting attr.sample_freq on the RECORD test 2016-01-07 13:20:22 -03:00
perf-targz-src-pkg perf tools: Add test for building detached source tarballs 2014-01-13 10:06:26 -03:00
pmu.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
python-use.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
sample-parsing.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
stat.c perf tools: Add stat round event synthesize function 2015-12-17 14:55:44 -03:00
sw-clock.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
switch-tracking.c perf evlist: Remove perf_evlist__(enable|disable)_event functions 2016-01-08 14:15:43 -03:00
task-exit.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
tests.h perf tools: Add event_update event unit type 2015-12-17 15:11:10 -03:00
thread-map.c perf thread_map: Add thread_map__new_event function 2015-12-17 14:38:16 -03:00
thread-mg-share.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
topology.c perf tests: Pass the subtest index to each test routine 2015-11-19 13:19:15 -03:00
vmlinux-kallsyms.c perf test: Fixup aliases checking in the 'vmlinux matches kallsyms' test 2016-01-26 11:52:52 -03:00