From 8ebc1c673320846a9fb102b9c40c7bc9da61c971 Mon Sep 17 00:00:00 2001 From: wubijie Date: Sat, 1 Jul 2023 14:20:47 +0800 Subject: [PATCH] Print the timestamp, task name, process ID, and event duration of the event --- src/drsnoop/drsnoop.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/drsnoop/drsnoop.c b/src/drsnoop/drsnoop.c index ca26d41e..1dae8416 100644 --- a/src/drsnoop/drsnoop.c +++ b/src/drsnoop/drsnoop.c @@ -90,4 +90,24 @@ static int libbpf_print_fn(enum libbpf_print_level level, const char *format, static void sig_handler(int sig) { exiting = 1; +} + +void handle_event(void *ctx, int cpu, void *data, __u32 data_sz) +{ + const struct event *e = data; + const struct argument *argument = ctx; + char ts[32]; + + strftime_now(ts, sizeof(ts), "%H:%M:%S"); + + printf("%-8s %-16s %-6d %9.3f %7lld", ts, e->task, e->pid, + e->delta_ns / 1000000.0, e->nr_reclaimed); + if (argument->extended) + printf(" %9llu", e->nr_free_pages * pagesize / 1024); + printf("\n"); +} + +void handle_lost_events(void *ctx, int cpu, __u64 lost_cnt) +{ + warning("Lost %llu events on CPU #%d!\n", lost_cnt, cpu); } \ No newline at end of file -- Gitee