Skip to content

BPF Performance Tools

kimschles edited this page Jan 10, 2020 · 1 revision

BFP Performance Tools

Brenden Gregg https://github.com/brendangregg/bpf-perf-workshop

BPF (eBPF) tracing is the superpower that can analyze everything, helping you find performance wins, troubleshoot software, and more. This tutorial shows you how to use the open-source BCC and bpftrace tools to find performance wins across a variety of application and system targets, and how to create your own Linux observability tools with BPF/bpftrace. We will also discuss challenges and fixes for real-world analysis, including lessons learned from its production use at Netflix, so you can hit the ground running when you return to work.

Learning Objectives note: I revised the verbs

  1. Describe BPF, BCC and bpftrace
  2. Use bcc tools to
    • analyze disk i/o issues
    • short-lived process issues
    • runq latency issues
  3. Develop at least one new bpftrace tool

Describe BPF, BCC and bpftrace

BPF stands for Berkeley Packet Filter.

Lab 1

http://www.brendangregg.com/blog/images/2019/bpf_performance_tools_book.png

You can observe Linux systems info with BPF tools. If you have a hunch about which part of the stack has valuable info, find it on this chart and try running the corresponding commands.

@brendangregg has created a new set of BPF tools which will be available in his new book.

BPF Performance Tools by Brendan Gregg

#LISA19

These are the scenarios participants worked through in his workshop. It's super rad: https://github.com/brendangregg/bpf-perf-workshop

Clone this wiki locally