Performance Resources
- 60 second analysis from Section 3.3 of BPF Performance Tools
- Chapter resources from the BPF Performance Tools book
- bpftrace man page
- Linux Tracing Docs - kernel version 5.4
- Linux Tracing BPF Docs - kernel version 5.4
- Cilium BPF and XDP Reference Guide
- Cilium BPF and XDP Reference Guide - Further Reading
- https://www.brendangregg.com/perf.html
- https://github.com/brendangregg/FlameGraph
- https://github.com/Netflix/flamescope
- https://github.com/iovisor/kubectl-trace
- https://man7.org/index.html
- https://github.com/kvaps/kubectl-node-shell
- https://www.kernel.org/doc/Documentation/trace/events.txt
- https://www.kernel.org/doc/Documentation/trace/tracepoints.txt
- https://perf.wiki.kernel.org/index.php/Main_Page
- https://github.com/iovisor/bpftrace
- https://github.com/iovisor/bpftrace#tools
- https://github.com/iovisor/bpftrace/tree/master/tools
- https://github.com/iovisor/bcc
- https://github.com/iovisor/bcc/tree/master/examples
- https://github.com/iovisor/ply
- PXL Scripts Overview
- https://www.brendangregg.com/ebpf.html
- https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html
- https://github.com/iovisor/bpftrace/blob/master/docs/reference_guide.md
- bpftrace probes
- bpftrace variables
- https://github.com/brendangregg/pmc-cloud-tools
- Ilya Grigorik homepage
- C++ Core Guidelines - Performance
Books and Videos
- https://www.brendangregg.com/systems-performance-2nd-edition-book.html
- https://www.brendangregg.com/bpf-performance-tools-book.html
- https://www.amazon.com/Art-Writing-Efficient-Programs-optimizations/dp/1800208111
- Very important video: Mike Acton discussing data-oriented design
- Mike Acton at HandmadeCon 2015
- Cloud Performance Root Cause Analysis at Netflix • Brendan Gregg • YOW! 2018
- Brendan Gregg talks about Extended BPF - A new software type
- CppCon 2017: Carl Cook “When a Microsecond Is an Eternity: High Performance Trading Systems in C++” - whole video is great, but pointed to a fun part of the video
- Ilya Grigorik - Mobile frontends and networking - Breaking the 1000ms Time to Glass Mobile Barrier
- Ilya Grigorik - High Performance Browser Networking - O’Reilly
- The Linux Programming Interface
- CppCon 2017: Fedor Pikus “C++ atomics, from basic to advanced. What do they really do?”
- Branchless Programming in C++ - Fedor Pikus - CppCon 2021
- CppCon 2016: Fedor Pikus “The speed of concurrency (is lock-free faster?)”
- Core C++ 2019 :: Avi Kivity :: Building efficient I/O intensive applications with Seastar
- How to Make Linux Microservice-Aware with Cilium and eBPF
- Designing Data-Intensive Applications
- Production Kubernetes
- Building Event-Driven Microservices
- A Guided Tour of Cilium Service Mesh - Liz Rice, Isovalent
- Hello eBPF! Goodbye Sidecar?
Observability Tools
- https://www.instana.com/
- https://sysdig.com/
- https://www.loggly.com/
- https://grafana.com/
- Atlas time series datastore
- Istio Observability
- Pixie
- Cilium and Hubble
Documentation and Dataviz Resources
Courses
- Ilya Grigorik - Website Performance Optimization - The Critical Rendering Path
- MIT OCW - Performance Engineering Of Software Systems
- Kube Academy