Blog Posts
- 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.