需改ebpf程序探测内核,测试性能,验证想法,更新笔记。
This commit is contained in:
41
ebpf/leak_detect/tracepoint.bpf
Normal file
41
ebpf/leak_detect/tracepoint.bpf
Normal file
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env bpftrace
|
||||
|
||||
BEGIN
|
||||
{
|
||||
printf("开始统计 kvstore 进程的 recvfrom 调用次数...\n");
|
||||
printf("每 5 秒打印一次统计,Ctrl-C 退出\n\n");
|
||||
|
||||
// 统计变量
|
||||
@enter = 0;
|
||||
@exit = 0;
|
||||
}
|
||||
|
||||
interval:s:5
|
||||
{
|
||||
time("%H:%M:%S");
|
||||
printf(" sys_enter_recvfrom 调用次数: %10d\n", @enter);
|
||||
printf(" sys_exit_recvfrom 调用次数: %10d\n", @exit);
|
||||
|
||||
// 可选:如果想每轮清零统计,取消下面注释
|
||||
// clear(@enter);
|
||||
// clear(@exit);
|
||||
}
|
||||
|
||||
tracepoint:syscalls:sys_enter_recvfrom
|
||||
/comm == "kvstore"/
|
||||
{
|
||||
@enter++;
|
||||
}
|
||||
|
||||
tracepoint:syscalls:sys_exit_recvfrom
|
||||
/comm == "kvstore"/
|
||||
{
|
||||
@exit++;
|
||||
}
|
||||
|
||||
END
|
||||
{
|
||||
printf("\n最终统计:\n");
|
||||
printf("sys_enter_recvfrom: %d 次\n", @enter);
|
||||
printf("sys_exit_recvfrom : %d 次\n", @exit);
|
||||
}
|
||||
Reference in New Issue
Block a user