aboutsummaryrefslogtreecommitdiffstats
path: root/test_plugin.c
diff options
context:
space:
mode:
Diffstat (limited to 'test_plugin.c')
-rw-r--r--test_plugin.c31
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
7static int handler(struct trace_seq *s, void *data, int size) 7static 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
18static 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}