perf script: improve validation of sample attributes for output fields
authorDavid Ahern <daahern@cisco.com>
Thu, 7 Apr 2011 03:54:20 +0000 (21:54 -0600)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Wed, 20 Apr 2011 10:27:52 +0000 (07:27 -0300)
commit9cbdb702092a2d82f909312f4ec3eeded77bb82e
treedb5f06a2b534c2731c5da085a5a995b230c0091c
parent0817a6a3a4fc7c069111083351ca33a78da2a0c9
perf script: improve validation of sample attributes for output fields

Check for required sample attributes using evsel rather than sample_type
in the session header. If the attribute for a default field is not
present for the event type (e.g., new command operating on file from
older kernel) the field is removed from the output list.

Expected event types must exist. For example, if a user specifies

  -f trace:time,trace -f sw:time,cpu,sym

the perf.data file must contain both tracepoints and software events
(ie., it is an error if either does not exist in the file).

Attribute checking is done once at the beginning of perf-script rather
than for each sample.

v1 -> v2:
- addressed comments from acme

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/1302148460-570-1-git-send-email-daahern@cisco.com
Signed-off-by: David Ahern <daahern@cisco.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/builtin-script.c
tools/perf/util/session.c
tools/perf/util/session.h