[RFC 0/6] perf tools: Report event parsing errors

Jiri Olsa
2015-04-18T17:26:08Z

hi,
adding support to report error from event string parsing.

This patchset contains support for standard parsing errors
and more logic to recognize tracepoint and 'pmu//' terms,
like:

$ perf record -e 'sched:krava' ls
invalid or unsupported event: 'sched:krava'
\___ unknown tracepoint

$ ./perf record -e 'cpu/even=0x1/' ls
invalid or unsupported event: 'cpu/even=0x1/'
\___ unknown term

$ perf record -e cycles,cache-mises ls
invalid or unsupported event: '..es,cache-mises'
\___ parser error

any feedback about the error string shape would be great ;-)

Changes are also reachable in here:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
perf/event_parse_error

thanks
jirka

---
Jiri Olsa (6):
perf tools: Add parse_events_error interface
perf tools: Add flex support for parse_events_error
perf tools: Change parse_events_add_pmu interface
perf tools: Add location to pmu event terms
perf tools: Add term support for parse_events_error
perf tools: Add tracepoint support for parse_events_error

tools/perf/builtin-stat.c | 2 +-
tools/perf/tests/code-reading.c | 2 +-
tools/perf/tests/evsel-roundtrip-name.c | 4 +--
tools/perf/tests/hists_cumulate.c | 2 +-
tools/perf/tests/hists_filter.c | 4 +--
tools/perf/tests/hists_link.c | 4 +--
tools/perf/tests/hists_output.c | 2 +-
tools/perf/tests/keep-tracking.c | 4 +--
tools/perf/tests/parse-events.c | 2 +-
tools/perf/tests/perf-time-to-tsc.c | 2 +-
tools/perf/tests/pmu.c | 2 +-
tools/perf/tests/switch-tracking.c | 8 +++---
tools/perf/util/parse-events.c | 135 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------
tools/perf/util/parse-events.h | 32 ++++++++++++++--------
tools/perf/util/parse-events.l | 37 ++++++++++++++++++++++---
tools/perf/util/parse-events.y | 35 ++++++++++++++----------
tools/perf/util/pmu.c | 23 +++++++++++-----
tools/perf/util/pmu.h | 6 +++--
tools/perf/util/record.c | 4 +--
19 files changed, 230 insertions(+), 80 deletions(-)