CARVIEW |
Select Language
HTTP/2 200
accept-ranges: bytes
cache-control: max-age=600
expires: Sat, 02 Aug 2025 19:57:30 GMT
vary: Accept-Encoding,User-Agent
content-encoding: gzip
content-length: 7921
content-type: text/html
date: Sat, 02 Aug 2025 19:47:30 GMT
server: Apache
Brendan Gregg's Blog
Homepage
Blog
Sys Perf book
BPF Perf book
Linux Perf
eBPF Tools
perf Examples
Perf Methods
USE Method
TSA Method
Off-CPU Analysis
Active Bench.
WSS Estimation
Flame Graphs
Flame Scope
Heat Maps
Frequency Trails
Colony Graphs
DTrace Tools
DTraceToolkit
DtkshDemos
Guessing Game
Specials
Books
Other Sites

Systems Performance 2nd Ed.

BPF Performance Tools book
Recent posts:
About
RSS
Site Navigation

Systems Performance 2nd Ed.

BPF Performance Tools book
Recent posts:
About
RSS
Homepage
Blog
Sys Perf book
BPF Perf book
Linux Perf
eBPF Tools
perf Examples
Perf Methods
USE Method
TSA Method
Off-CPU Analysis
Active Bench.
WSS Estimation
Flame Graphs
Flame Scope
Heat Maps
Frequency Trails
Colony Graphs
DTrace Tools
DTraceToolkit
DtkshDemos
Guessing Game
Specials
Books
Other Sites
Brendan's site:
Start HereHomepage
Blog
Sys Perf book
BPF Perf book
Linux Perf
eBPF Tools
perf Examples
Perf Methods
USE Method
TSA Method
Off-CPU Analysis
Active Bench.
WSS Estimation
Flame Graphs
Flame Scope
Heat Maps
Frequency Trails
Colony Graphs
DTrace Tools
DTraceToolkit
DtkshDemos
Guessing Game
Specials
Books
Other Sites

Systems Performance 2nd Ed.

BPF Performance Tools book
Recent posts:
- 22 May 2025 »
3 Years of Extremely Remote Work - 01 May 2025 »
Doom GPU Flame Graphs - 29 Oct 2024 »
AI Flame Graphs - 22 Jul 2024 »
No More Blue Fridays - 24 Mar 2024 »
Linux Crisis Tools - 17 Mar 2024 »
The Return of the Frame Pointers - 10 Mar 2024 »
eBPF Documentary - 28 Apr 2023 »
eBPF Observability Tools Are Not Security Tools - 01 Mar 2023 »
USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon - 17 Feb 2023 »
USENIX SREcon APAC 2023: CFP - 02 May 2022 »
Brendan@Intel.com - 15 Apr 2022 »
Netflix End of Series 1 - 09 Apr 2022 »
TensorFlow Library Performance - 19 Mar 2022 »
Why Don't You Use ... - 26 Sep 2021 »
The Speed of Time - 06 Sep 2021 »
ZFS Is Mysteriously Eating My CPU - 30 Aug 2021 »
Analyzing a High Rate of Paging - 27 Aug 2021 »
Slack's Secret STDERR Messages - 05 Jul 2021 »
USENIX LISA2021 Computing Performance: On the Horizon - 03 Jul 2021 »
How To Add eBPF Observability To Your Product
About
RSS
Blog Posts
- 22 May 2025 » 3 Years of Extremely Remote Work
- 01 May 2025 » Doom GPU Flame Graphs
- 29 Oct 2024 » AI Flame Graphs
- 22 Jul 2024 » No More Blue Fridays
- 24 Mar 2024 » Linux Crisis Tools
- 17 Mar 2024 » The Return of the Frame Pointers
- 10 Mar 2024 » eBPF Documentary
- 28 Apr 2023 » eBPF Observability Tools Are Not Security Tools
- 01 Mar 2023 » USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon
- 17 Feb 2023 » USENIX SREcon APAC 2023: CFP
- 02 May 2022 » Brendan@Intel.com
- 15 Apr 2022 » Netflix End of Series 1
- 09 Apr 2022 » TensorFlow Library Performance
- 19 Mar 2022 » Why Don't You Use ...
- 26 Sep 2021 » The Speed of Time
- 06 Sep 2021 » ZFS Is Mysteriously Eating My CPU
- 30 Aug 2021 » Analyzing a High Rate of Paging
- 27 Aug 2021 » Slack's Secret STDERR Messages
- 05 Jul 2021 » USENIX LISA2021 Computing Performance: On the Horizon
- 03 Jul 2021 » How To Add eBPF Observability To Your Product
- 15 Jun 2021 » USENIX LISA2021 BPF Internals (eBPF)
- 04 Jun 2021 » An Unbelievable Demo
- 29 May 2021 » Moving my US tech job to Australia
- 23 May 2021 » What is Observability
- 09 May 2021 » Poor Disk Performance
- 04 Nov 2020 » BPF binaries: BTF, CO-RE, and the future of BPF perf tools
- 15 Jul 2020 » Systems Performance: Enterprise and the Cloud, 2nd Edition
- 08 Mar 2020 » LISA2019 Linux Systems Performance
- 22 Dec 2019 » BPF Theremin, Tetris, and Typewriters
- 02 Dec 2019 » BPF: A New Type of Software
- 15 Oct 2019 » Two kernel mysteries and the most technical talk I've ever seen
- 19 Aug 2019 » A thorough introduction to bpftrace
- 15 Jul 2019 » BPF Performance Tools: Linux System and Application Observability (book)
- 26 Apr 2019 » YOW! 2018 Cloud Performance Root Cause Analysis at Netflix
- 01 Jan 2019 » Learn eBPF Tracing: Tutorial and Examples
- 15 Dec 2018 » FlameScope Origin
- 08 Nov 2018 » FlameScope Pattern Recognition
- 08 Oct 2018 » bpftrace (DTrace 2.0) for Linux 2018
- 30 Jun 2018 » Evaluating the Evaluation: A Benchmarking Checklist
- 31 May 2018 » Linux bcc/eBPF tcpdrop
- 19 May 2018 » Sloth Cloud Instance
- 30 Apr 2018 » USENIX LISA 2018: CFP Now Open
- 22 Mar 2018 » TCP Tracepoints
- 09 Feb 2018 » KPTI/KAISER Meltdown Initial Performance Regressions
- 17 Jan 2018 » How To Measure the Working Set Size on Linux
- 31 Dec 2017 » AWS re:Invent 2017: How Netflix Tunes EC2
- 29 Nov 2017 » AWS EC2 Virtualization 2017: Introducing Nitro
- 13 Nov 2017 » Brilliant Jerks in Engineering
- 28 Oct 2017 » EuroBSDcon: System Performance Analysis Methodologies
- 05 Sep 2017 » Solaris to Linux Migration 2017
- 24 Aug 2017 » Total Solar Eclipse 2017
- 08 Aug 2017 » Linux Load Averages: Solving the Mystery
- 30 Jul 2017 » Coloring Flame Graphs: Code Hues
- 30 Jun 2017 » Java Package Flame Graph
- 16 May 2017 » Working at Netflix 2017
- 15 May 2017 » Container Performance Analysis at DockerCon 2017
- 09 May 2017 » CPU Utilization is Wrong
- 04 May 2017 » The PMCs of EC2: Measuring IPC
- 29 Apr 2017 » USENIX/LISA 2016 Linux bcc/BPF Tools
- 23 Apr 2017 » USENIX/LISA 2013 Blazing Performance with Flame Graphs
- 16 Mar 2017 » perf sched for Linux CPU scheduler analysis
- 06 Feb 2017 » Flame Graphs vs Tree Maps vs Sunburst
- 05 Feb 2017 » Where has my disk space gone? Flame graphs for file systems
- 31 Jan 2017 » Golang bcc/BPF Function Tracing
- 27 Dec 2016 » Give me 15 minutes and I'll change your view of Linux tracing
- 30 Nov 2016 » Linux bcc/BPF tcplife: TCP Lifespans
- 27 Oct 2016 » DTrace for Linux 2016
- 21 Oct 2016 » Linux 4.9's Efficient BPF-based Profiler
- 15 Oct 2016 » Linux bcc tcptop
- 12 Oct 2016 » Linux bcc/BPF Node.js USDT Tracing
- 08 Oct 2016 » Linux bcc/BPF Run Queue (Scheduler) Latency
- 06 Oct 2016 » Linux bcc ext4 Latency Tracing
- 04 Oct 2016 » Linux MySQL Slow Query Tracing with bcc/BPF
- 01 Oct 2016 » Linux bcc Tracing Security Capabilities
- 28 Sep 2016 » Java Warmup
- 03 Sep 2016 » Sudden Disk Utilization
- 09 Aug 2016 » gdb Debugging Full Example (Tutorial): ncurses
- 23 Jul 2016 » Deirdré
- 13 Jul 2016 » llnode for Node.js Memory Leak Analysis
- 14 Jun 2016 » Ubuntu Xenial bcc/BPF
- 08 Jun 2016 » Hist Triggers in Linux 4.7
- 04 May 2016 » SREcon: Performance Checklists for SREs 2016
- 30 Apr 2016 » Linux 4.5 perf folded format
- 30 Mar 2016 » Working at Netflix 2016
- 28 Mar 2016 » Linux BPF/bcc Road Ahead, March 2016
- 05 Mar 2016 » Linux BPF Superpowers
- 08 Feb 2016 » Linux eBPF/bcc uprobes
- 05 Feb 2016 » Who is waking the waker? (Linux chain graph prototype)
- 01 Feb 2016 » Linux Wakeup and Off-Wake Profiling
- 27 Jan 2016 » Unikernel Profiling: Flame Graphs from dom0
- 20 Jan 2016 » Linux eBPF Off-CPU Flame Graph
- 18 Jan 2016 » Linux eBPF Stack Trace Hack
- 03 Dec 2015 » Linux Performance Analysis in 60s (video)
- 06 Nov 2015 » Java Mixed-Mode Flame Graphs at Netflix, JavaOne 2015
- 31 Oct 2015 » tcpconnect and tcpaccept for Linux (bcc)
- 22 Sep 2015 » bcc: Taming Linux 4.3+ Tracing Superpowers
- 11 Aug 2015 » Flame Graph Search
- 08 Jul 2015 » Choosing a Linux Tracer (2015)
- 03 Jul 2015 » Hacking Linux USDT with Ftrace
- 28 Jun 2015 » Linux uprobe: User-Level Dynamic Tracing
- 23 Jun 2015 » Netflix Instance Analysis Requirements
- 15 May 2015 » eBPF: One Small Step
- 15 May 2015 » The DTraceToolkit Project Has Ended
- 30 Apr 2015 » SE-Radio Episode 225: Systems Performance
- 17 Mar 2015 » USENIX/LISA 2014 New Tools and Old Secrets (perf-tools)
- 12 Mar 2015 » FreeBSD Off-CPU Flame Graphs
- 10 Mar 2015 » FreeBSD Flame Graphs
- 06 Mar 2015 » MeetBSD CA: Performance Analysis of BSD
- 03 Mar 2015 » Performance Tuning Linux Instances on EC2
- 28 Feb 2015 » Tracing Summit 2014: From DTrace To Linux
- 27 Feb 2015 » SCALE13x: Linux Profiling at Netflix
- 26 Feb 2015 » Linux perf_events Off-CPU Time Flame Graph
- 20 Jan 2015 » Working at Netflix
- 31 Dec 2014 » Linux Page Cache Hit Ratio
- 22 Nov 2014 » Linux Performance Tools 2014
- 09 Nov 2014 » Differential Flame Graphs
- 31 Oct 2014 » CPI Flame Graphs: Catching Your CPUs Napping
- 27 Sep 2014 » From Clouds to Roots: Performance Analysis at Netflix
- 17 Sep 2014 » node.js Flame Graphs on Linux
- 15 Sep 2014 » The MSRs of EC2
- 11 Sep 2014 » Kernel Line Tracing: Linux perf Rides the Rocket
- 06 Sep 2014 » Linux ftrace TCP Retransmit Tracing
- 30 Aug 2014 » ftrace: The Hidden Light Switch
- 23 Aug 2014 » Linux Performance Tools at LinuxCon North America 2014
- 28 Jul 2014 » execsnoop For Linux: See Short-Lived Processes
- 25 Jul 2014 » opensnoop For Linux
- 23 Jul 2014 » Linux iosnoop Latency Heat Maps
- 16 Jul 2014 » iosnoop For Linux
- 13 Jul 2014 » Linux ftrace Function Counting
- 10 Jul 2014 » perf Hacktogram
- 03 Jul 2014 » perf Counting
- 01 Jul 2014 » perf Heat Maps
- 29 Jun 2014 » perf Static Tracepoints
- 22 Jun 2014 » perf CPU Sampling
- 12 Jun 2014 » Java Flame Graphs
- 09 Jun 2014 » Java CPU Sampling Using hprof
- 23 May 2014 » OS X 10.9.3 Recurring Panics
- 17 May 2014 » Free, as in, We Own Your IP
- 16 May 2014 » USENIX/LISA 2013 Metrics Workshop
- 11 May 2014 » strace Wow Much Syscall
- 09 May 2014 » Xen Feature Detection
- 07 May 2014 » Xen Modes: What Color Is Your Xen?
- 03 May 2014 » The Benchmark Paradox
- 02 May 2014 » Compilers Love Messing With Benchmarks
- 27 Apr 2014 » Compilers: Let Me Obfuscate That For You
- 26 Apr 2014 » The noploop CPU Benchmark
- 20 Apr 2014 » A New, Static, Blog
Archive
Older, archived posts are in my blog archive. See my homepage for other material I've written.

Systems Performance 2nd Ed.

BPF Performance Tools book
Recent posts:
- 22 May 2025 »
3 Years of Extremely Remote Work - 01 May 2025 »
Doom GPU Flame Graphs - 29 Oct 2024 »
AI Flame Graphs - 22 Jul 2024 »
No More Blue Fridays - 24 Mar 2024 »
Linux Crisis Tools - 17 Mar 2024 »
The Return of the Frame Pointers - 10 Mar 2024 »
eBPF Documentary - 28 Apr 2023 »
eBPF Observability Tools Are Not Security Tools - 01 Mar 2023 »
USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon - 17 Feb 2023 »
USENIX SREcon APAC 2023: CFP - 02 May 2022 »
Brendan@Intel.com - 15 Apr 2022 »
Netflix End of Series 1 - 09 Apr 2022 »
TensorFlow Library Performance - 19 Mar 2022 »
Why Don't You Use ... - 26 Sep 2021 »
The Speed of Time - 06 Sep 2021 »
ZFS Is Mysteriously Eating My CPU - 30 Aug 2021 »
Analyzing a High Rate of Paging - 27 Aug 2021 »
Slack's Secret STDERR Messages - 05 Jul 2021 »
USENIX LISA2021 Computing Performance: On the Horizon - 03 Jul 2021 »
How To Add eBPF Observability To Your Product
About
RSS
Brendan's site:
Start HereHomepage
Blog
Sys Perf book
BPF Perf book
Linux Perf
eBPF Tools
perf Examples
Perf Methods
USE Method
TSA Method
Off-CPU Analysis
Active Bench.
WSS Estimation
Flame Graphs
Flame Scope
Heat Maps
Frequency Trails
Colony Graphs
DTrace Tools
DTraceToolkit
DtkshDemos
Guessing Game
Specials
Books
Other Sites
Copyright 2024 Brendan Gregg.
About this blog
About this blog