Tracing
Версия от 10:11, 12 мая 2024; Vt (обсуждение | вклад)
Средства трассировки системы и процессов в Linux.
Доступные средства
- User-space трассировка
- ptrace(2) интерфейс
- strace: https://strace.io/ - трассировка вызовов сисколлов
- Инструментация бинарников
- USDT: https://www.altlinux.org/Tracing/USDT
- uftrace: https://uftrace.github.io/
- ptrace(2) интерфейс
- System wide/kernel-space трассировка
- perf_events
- perf - https://www.brendangregg.com/perf.html
- perf-tools - набор скриптов для perf/Ftrace (устарело)
- Ftrace: Function Tracer
- /sys/kernel/tracing: прямой доступ к API
- trace-cmd: https://www.trace-cmd.org/
- eBPF интерфейс
- bcc: BPF Compiler Collection
- bcc-tools: Python скрипты на базе bcc
- libbpf-tools: CO-RE libbpf based tools
- bpftrace: High-level tracing language for Linux eBPF
- bcc: BPF Compiler Collection
- perf_events
- Uprobe/Kprobes: Kernel Probes
- Доступно через perf probe и Ftrace
Доп. материалы
- https://www.kernel.org/doc/html/latest/trace/ Linux Tracing Technologies
- https://www.brendangregg.com/linuxperf.html Linux Performance