Linux Tracing Workshops Materials
This repository contains examples and hands-on labs for various Linux tracing workshops, focusing on modern tracing tools. To perform these labs, you will need a Linux box that meets several prerequisites. You can also use a VirtualBox appliance supplied by the instructor.
Prerequisites
- Linux 4.6+ (the distribution doesn't matter; tested on Ubuntu and Fedora Core)
- perf
- perf-map-agent
- FlameGraph
- bcc
- OpenJDK
- The systemtap-sdt-dev package on Ubuntu or the systemtap-sdt-devel package on Fedora/RHEL
- Node.js built from source with
configure --with-dtrace
- MySQL or MariaDB
- MySQL Python Connector
Labs
- Probing Tracepoints with ftrace
- CPU Sampling with
perf
and Flame Graphs - Using BPF Tools: Chasing a Memory Leak
- Using BPF Tools: Database and Disk Stats and Stacks
- Using BPF Tools: Node and JVM USDT Probes
- Writing BPF Tools: Contention Stats and Stacks
- Writing BPF Tools: From BCC GitHub Issues
(C) Sasha Goldshtein, 2015-2016. All rights reserved.