7.2.1-内核bpf的实现原理

  • bpftrace 的安装指令

    sudo apt install bpftrace
    

  • 能做的事

    统计 tcp 连接时长 \ MySQL 执行一条 sql 语句的时间等等。


  • 基本格式

    bpftrace -e 
    '
    BEGIN //event
    {
        printf("Hello\n"); //action
    }
    '
    
    bpftrace -e
    '
    tracepoint:syscalls:sys_enter_accept //event
    {
        printf("accept\n"); //action
    }
    '
    

  • 加上线程名字 \pid识别(比如 ./networkio.\sshd 都调用了底层的 syscalls:sys_enter_accept 函数)

    sshd 是远程服务器上的后台进程

    bpftrace -e
    tracepoint:syscalls:sys_enter_accept 
    {
        printf("accept %s\n",comm); 
    }
    

    accept/accept4 都要试一下


posted @ 2025-11-18 22:11  xqy2003  阅读(3)  评论(0)    收藏  举报