Debugging and Profiling .NET Core Apps on Linux
summary
Claims that full diagnostics run on Linux end-to-end: CPU sampling with perf produces 9,847 samples and a flame-graph that shows GC taking ~20% and a function (process_result) using ~60% CPU; sampling stacks with stack_count reveals 3,988 GC-triggering call stacks; flame graphs visualize hotspots; BCC/BPF does in-kernel aggregation to cut overhead for high-rate events; runtime events come from lttng; crashes need core dumps analyzed with lldb+SOS to extract the original inner exception (it works but requires several manual mapping steps).
AI-written summary · about
chapters (21)
- 0:00Intro
- 1:04Overview
- 2:51Equivalent tools
- 3:51Overhead
- 4:40Sampling Tools
- 5:58Event Sources
- 10:27Perf
- 11:04PERF Architecture
- 13:50Symbolic Information
- 17:23Visualization
- 22:09Flame Graph Example
- 25:23Screenshots
- 29:16DCC
- 30:24DCC Tools
- 31:09Examples of tracing
- 39:30Event tracing
- 41:17Events
- 41:54Live Demo
- 47:30Generate Core Dump
- 48:32Core Dump Analysis
- 50:51Debugging with SOS
related talks
53mProfiling and Debugging .NET Core Apps on Linux.
25mFrom Continuous Profiling to Continuous Optimization
01h 32mBlazing Performance with Flame Graphs
01h 02mThe performance loop—A practical guide to profiling and benchmarking
52mApplication-Level Debugging and Profiling: Gaps in the Tool Ecosystem
38mA Profile of Performance Profiling With pprof
42mWhen the OS gets in the way
01h 03mDiscussion with Kevin Gosse
