위키득계정 ↗
기술

BCC 추적 도구

BCC 추적 도구기술
전체 이름
BPF Compiler Collection
기반 기술
eBPF
계측 코드
C
사용자 인터페이스
Python과 Lua
BCC는 eBPF 기반의 Linux 커널 추적 및 관측 프로그램을 만드는 도구 모음이다. C로 작성하는 커널 계측 코드와 Python 및 Lua의 사용자 공간 인터페이스를 연결하고 여러 분석 도구를 함께 제공한다.

커널 계측과 사용자 프로그램

커널에서 관측할 동작을 C로 작성하고 사용자 공간의 프로그램과 연결한다. LLVM을 감싼 구성 요소 등을 제공해 BPF 프로그램 작성을 돕는다. 커널에서 사건을 관측하는 코드와 결과를 다루는 인터페이스를 함께 구성하는 방식이다.

성능 분석과 네트워크 제어

시스템 성능 분석과 네트워크 트래픽 제어 같은 작업에 사용할 수 있다. 디스크 입출력 지연과 함수 호출 및 프로세스 실행이나 네트워크 연결을 관측하는 도구와 예제를 제공한다. 필요한 분석 대상에 따라 도구를 선택하거나 직접 작성한다.

관측 결과의 요약

사건마다 모든 자료를 전달하는 대신 커널 안에서 분포 같은 요약 정보를 만들고 이를 사용자 공간에서 보여 주는 구성을 사용할 수 있다. 무엇을 관측하고 어떤 값을 저장하며 어떻게 표시할지 프로그램에 맞게 정한다. 도구 모음은 이러한 관측 프로그램의 제작 기반 역할을 한다.

관련 문서

bpftrace / Tetragon / Falco / Cilium / Python / 리눅스