aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/util/trace-event-parse.c
diff options
context:
space:
mode:
authorTom Zanussi <tzanussi@gmail.com>2009-11-25 02:15:50 -0500
committerIngo Molnar <mingo@elte.hu>2009-11-28 04:04:27 -0500
commitd1b93772be78486397693fc39d3ddea3fda90105 (patch)
treefc4387cf44de336e655d03ee488a83cadde22e04 /tools/perf/util/trace-event-parse.c
parentbcefe12eff5dca6fdfa94ed85e5bee66380d5cd9 (diff)
perf trace: Add interface to access perf data from Perl handlers
The Perl scripting support for perf trace allows most of a trace event's data to be accessed directly as handler arguments, but not all of it e.g. the less common fields aren't passed in. To give scripts access to the other fields and/or any other data or metadata in the main perf executable that might be useful, a way to access the C data in perf from Perl is needed; this patch uses the Perl XS facility to do it for the common_xxx event fields not passed to handler functions. Context.pm exports three functions to Perl scripts that access fields for the current event by calling back into perf: common_pc(), common_flags() and common_lock_depth(). Support for common_flags() field values was added to Core.pm and a script used to sanity check these and other basic scripting features, check-perf-trace.pl, was also added. Signed-off-by: Tom Zanussi <tzanussi@gmail.com> Cc: fweisbec@gmail.com Cc: rostedt@goodmis.org Cc: anton@samba.org Cc: hch@infradead.org LKML-Reference: <1259133352-23685-6-git-send-email-tzanussi@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/util/trace-event-parse.c')
-rw-r--r--tools/perf/util/trace-event-parse.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/perf/util/trace-event-parse.c b/tools/perf/util/trace-event-parse.c
index 1f16495e559..0302405aa2c 100644
--- a/tools/perf/util/trace-event-parse.c
+++ b/tools/perf/util/trace-event-parse.c
@@ -1982,7 +1982,7 @@ int trace_parse_common_pid(void *data)
1982 "common_pid"); 1982 "common_pid");
1983} 1983}
1984 1984
1985static int parse_common_pc(void *data) 1985int parse_common_pc(void *data)
1986{ 1986{
1987 static int pc_offset; 1987 static int pc_offset;
1988 static int pc_size; 1988 static int pc_size;
@@ -1991,7 +1991,7 @@ static int parse_common_pc(void *data)
1991 "common_preempt_count"); 1991 "common_preempt_count");
1992} 1992}
1993 1993
1994static int parse_common_flags(void *data) 1994int parse_common_flags(void *data)
1995{ 1995{
1996 static int flags_offset; 1996 static int flags_offset;
1997 static int flags_size; 1997 static int flags_size;
@@ -2000,7 +2000,7 @@ static int parse_common_flags(void *data)
2000 "common_flags"); 2000 "common_flags");
2001} 2001}
2002 2002
2003static int parse_common_lock_depth(void *data) 2003int parse_common_lock_depth(void *data)
2004{ 2004{
2005 static int ld_offset; 2005 static int ld_offset;
2006 static int ld_size; 2006 static int ld_size;