Conprof - Profiling in the cloud-native era
Talkat KubeCon + CloudNativeCon North America 2021 · on Friday, 2021-10-15· at 16:30· Room 408 AB + Online·
summary
Continuous profiling captures periodic pprof profiles from running Go processes and stores them for fleet-wide queries, enabling diffs/merges and time-based comparisons (demo compares profiles an hour apart). It uses an eBPF-based Parca agent to discover cgroups and sample stacks many times per second with low overhead and no code changes, normalizes labels to a SQLite metastore, and writes into a custom Parca TSDB that treats stack traces as first-class data; earlier compression changes gave ~20–50% improvement and query paths support PromQL-like selectors.
AI-written summary · about
chapters (18)
- 0:00Intro
- 0:17About us
- 1:23Profiling: Why?
- 3:42pprof for other languages
- 4:03Code
- 5:17Go & JS example
- 6:21The problem
- 7:37Continuous Profiling
- 11:06High level overview of Parca profiler
- 14:25Previously: Compression
- 14:49Previously: Improved Compression
- 15:26Parca's Storage
- 17:26Creating a Metastore Entries
- 17:57Creating a Profile Tree
- 19:03Append Profile Meta
- 22:41Append Profile Tree - Sparseness
- 25:52Combine/Merge Profiles
- 26:25Parca's Roadmap
related talks
36mContinuous Profiling in the Cloud-Native era
36mProfiling in the cloud-native era - Matthias Loibl
36mContinuous Profiling with Parca- Beneath the Kernel to Beyond...
06mContinuous Profiling
40mContinuous Profiling, the missing piece in your observability puzzle!
24mLeveraging Prometheus’ TSDB for conprof (Continuous Profiling)
31mProfiling Formats and Why You Should Care
52mThe missing piece in your observability puzzle!
