/* * vfscount.c Count some VFS calls. * For Linux, uses BCC, eBPF. See the Python front-end. * * USAGE: vfscount.py * * Copyright (c) 2015 Brendan Gregg. * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public * License as published by the Free Software Foundation. * * 14-Aug-2015 Brendan Gregg Created this. */ #include struct key_t { u64 ip; }; BPF_TABLE("hash", struct key_t, u64, counts, 256); int do_count(struct pt_regs *ctx) { struct key_t key = {}; u64 zero = 0, *val; key.ip = ctx->ip; val = counts.lookup_or_init(&key, &zero); (*val)++; return 0; }