Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
bcc/python: Add the support for detaching a single kprobe/kretprobe h…
…andler _add_kprobe_fd() uses a <ev_name, fd> map to store fd of attached function, but the current implementation can only store the last fd if we attach multiple handler functions on the same kprobe event. This patch uses a <ev_name, <fn_name, fd>> map to build the corresponding relationship among the kprobe event, handler function names, and fds. Then we can detach any single handler function, which is pretty helpful if the developer wants to enable and disable kprobes/kretprobes dynamically. For example: We want to measure both the execution count, execution time, and some other metrics of a kernel function. For flexibility, we want to use separate handlers for each metric to disable them individually if any of them incur some performance penalties. Without this interface, we have to disable all handlers on the kernel function. The uprobe also has a similar problem. I will fix it in a subsequent patch. Signed-off-by: Hao Lee <[email protected]>
- Loading branch information