/linux-tracing-workshop

Examples and hands-on labs for Linux tracing tools workshops

Primary LanguagePythonMIT LicenseMIT

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

  1. Linux 4.6+ (the distribution doesn't matter; tested on Ubuntu and Fedora Core)
  2. perf
  3. perf-map-agent
  4. FlameGraph
  5. bcc
  6. OpenJDK
  7. The systemtap-sdt-dev package on Ubuntu or the systemtap-sdt-devel package on Fedora/RHEL
  8. Node.js built from source with configure --with-dtrace
  9. MySQL or MariaDB
  10. MySQL Python Connector

Labs

  1. Probing Tracepoints with ftrace
  2. CPU Sampling with perf and Flame Graphs
  3. Using BPF Tools: Chasing a Memory Leak
  4. Using BPF Tools: Database and Disk Stats and Stacks
  5. Using BPF Tools: Node and JVM USDT Probes
  6. Writing BPF Tools: Contention Stats and Stacks
  7. Writing BPF Tools: From BCC GitHub Issues

(C) Sasha Goldshtein, 2015-2016. All rights reserved.