eBPF 실전 (3) — kprobe·fentry·tracepoint·uprobe 훅 오버헤드 비교

같은 vfs_read()를 관측하더라도 BPF 프로그램을 붙일 수 있는 훅은 kprobe, fentry, tracepoint, raw tracepoint 등 여러 가지다. 훅마다 인자에 접근하는 방법, 커널 버전이 바뀔 때의 안정성, 이벤트당 비용이 다르다. 고빈도…

Continue ReadingeBPF 실전 (3) — kprobe·fentry·tracepoint·uprobe 훅 오버헤드 비교

bpftrace로 리눅스 시스템 콜과 지연시간 디버깅하기

특정 프로세스가 어떤 시스템 콜을 얼마나 자주 호출하는지, 혹은 파일 하나를 여는 데 왜 갑자기 수십 밀리초가 걸리는지 알아내야 할 때 strace부터 떠올리기 쉽다. 하지만 strace는 매 시스템 콜마다 대상…

Continue Readingbpftrace로 리눅스 시스템 콜과 지연시간 디버깅하기