위키득계정 ↗
기술

bpftrace

bpftrace기술
주요 환경
Linux
기반 기술
eBPF
스크립트 구성
프로브와 조건 및 동작
주요 대상
커널과 사용자 프로그램 이벤트
bpftrace는 Linux의 동적 추적 작업을 작성하는 고수준 언어이자 도구다. eBPF 기반 관측 프로그램을 짧은 스크립트로 표현하고 커널이나 사용자 프로그램에서 발생한 이벤트에 맞춰 동작을 실행한다.

이벤트를 고르는 프로브

프로브는 어떤 종류의 사건에 관측 프로그램을 연결할지 지정한다. 커널 함수의 진입과 반환 및 정적 추적 지점이나 사용자 함수 등을 대상으로 삼을 수 있다. 실제로 사용할 수 있는 대상은 시스템과 프로그램에 따라 달라진다.

조건과 동작의 조합

동작 블록에는 프로브와 선택적인 조건 및 실행할 문장이 들어간다. 이벤트가 발생하고 조건이 맞으면 지정한 동작을 수행한다. 여러 프로브가 같은 동작을 공유할 수도 있어 관측할 사건과 그때 처리할 내용을 나누어 표현한다.

실행 맥락의 확인

프로브 종류에 맞춰 함수 인자와 이벤트 정보를 읽을 수 있다. 이를 이용해 어떤 프로세스에서 어떤 작업이 일어났는지 출력하는 관측 프로그램을 구성한다. eBPF의 세부 구현을 직접 작성하는 대신 추적 목적에 맞는 언어로 필요한 관측을 기술하는 것이 주요 용도다.

관련 문서

Tetragon / Falco / Cilium / 리눅스 / 프로세스 / 운영체제