diff options
author | Steven Rostedt <srostedt@redhat.com> | 2009-11-24 21:51:17 -0500 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2009-11-24 21:51:17 -0500 |
commit | 9e47d25f3dacb1dcd9e0b18cb411026e8f7b338c (patch) | |
tree | d48aee1a180f74533aa3097dd48a63560f422960 | |
parent | 426d581e89e3cbec5c353ceaedcaf5686392beb3 (diff) |
Change test plugin to override hrtimer events start and expire_entry
The hrtimer events hrtimer_start and hrtimer_expire_entry currently
fail to parse. Override these events to show better data.
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
-rw-r--r-- | test_plugin.c | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/test_plugin.c b/test_plugin.c index 26edbad..c7f3b8b 100644 --- a/test_plugin.c +++ b/test_plugin.c | |||
@@ -4,13 +4,28 @@ | |||
4 | 4 | ||
5 | #include "parse-events.h" | 5 | #include "parse-events.h" |
6 | 6 | ||
7 | static int handler(struct trace_seq *s, void *data, int size) | 7 | static int timer_expire_handler(struct trace_seq *s, void *data, int size) |
8 | { | 8 | { |
9 | void *hrtimer = data + 16; | ||
10 | long long now = *(long long *)(data + 24); | ||
9 | int ret; | 11 | int ret; |
10 | 12 | ||
11 | ret = trace_seq_printf(s, "COMM: %s state is %d next is %s", | 13 | ret = trace_seq_printf(s, "hrtimer=%p now=%llu", |
12 | (char *)(data+12), *(int *)(data + 40), | 14 | hrtimer, now); |
13 | (char *)(data+48)); | 15 | return ret; |
16 | } | ||
17 | |||
18 | static int timer_start_handler(struct trace_seq *s, void *data, int size) | ||
19 | { | ||
20 | void *hrtimer = data + 16; | ||
21 | void *function = data + 24; | ||
22 | long long expires = *(long long *)(data + 32); | ||
23 | long long soft = *(long long *)(data + 40); | ||
24 | int ret; | ||
25 | |||
26 | ret = trace_seq_printf(s, "hrtimer=%p function=%pf expires=%llu softexpires=%llu", | ||
27 | hrtimer, function, | ||
28 | expires, soft); | ||
14 | return ret; | 29 | return ret; |
15 | } | 30 | } |
16 | 31 | ||
@@ -18,7 +33,11 @@ int PEVENT_PLUGIN_LOADER(void) | |||
18 | { | 33 | { |
19 | printf("HELLO WORLD!!!\n"); | 34 | printf("HELLO WORLD!!!\n"); |
20 | 35 | ||
21 | pevent_register_event_handler(-1, "sched", "sched_switch", | 36 | pevent_register_event_handler(-1, "timer", "hrtimer_expire_entry", |
22 | handler); | 37 | timer_expire_handler); |
38 | |||
39 | pevent_register_event_handler(-1, "timer", "hrtimer_start", | ||
40 | timer_start_handler); | ||
41 | |||
23 | return 0; | 42 | return 0; |
24 | } | 43 | } |