Profiling and Debugging .NET Core Apps on Linux.
summary
Shows how to profile .NET Core on Linux with hands‑on commands: use perf plus flame graphs to find hot paths, BPF/BCC tools like stackcount to attribute 2,502 GC calls to specific stacks, and LTTng to collect runtime events such as GC and allocation samples. Describes producing core dumps with gcore or createdump and inspecting them with lldb + libSOS to get managed stacks and heap contents. Demonstrates what works, what’s hacky, and when symbol maps or JIT mappings are required.
AI-written summary · about
chapters (35)
- 0:00Introduction
- 2:24Motivation
- 3:32Disclaimer
- 4:14Platforms
- 5:25Disclaimers
- 6:05Terminology
- 7:29Infrastructure
- 8:48The official story
- 9:14Install
- 9:31PerfCollect
- 10:58Perf
- 11:37How Perf works
- 13:23What will happen if you use Perf
- 14:05Stack trace
- 18:57Profiling on Linux
- 21:13Perf Report
- 21:59Flame Graph
- 24:53Flame Graphs
- 29:08Tools
- 29:18siscount and open snoop
- 32:58funkcount output
- 33:56stackcount output
- 36:02LTTNG
- 37:57Enabling LTTNG
- 40:01Events
- 40:45Debugging
- 42:05Dump Files
- 43:26Creating Dump Files
- 44:28Analyzing Dump Files
- 46:22Lib SOS
- 47:05Crashed Application
- 50:22Checklist
- 50:35Questions
- 51:01Core dumps
- 51:30QA
related talks
01h 01mDebugging and Profiling .NET Core Apps on Linux
01h 00mInvestigating C++ Applications in Production on Linux and Windows
52mApplication-Level Debugging and Profiling: Gaps in the Tool Ecosystem
38mA Profile of Performance Profiling With pprof
43m.NET Core
25mFrom Continuous Profiling to Continuous Optimization
59mOptimize for the Cloud – Lightning-speed .NET Container Apps
59mBuilding your own debugging toolbox with ClrMD
