Blog Post Title
Making continuous .NET profiling practical for production Kubernetes workloads
Blog Post Outline
Continuous, low-overhead profiling has become essential for production observability, yet managed runtimes like .NET remain difficult to profile. Their call stacks combine dynamically generated and precompiled code, and unlike native binaries, human-readable function names are not exposed through the standard symbol formats a system profiler relies on. This post describes how a whole-system eBPF profiler reconstructs readable function names from raw instruction addresses with no code changes and under 1% overhead. Since most .NET services run on Kubernetes, I also cover attributing samples to the correct pod and container and mapping frames back to workloads without an in-process agent. I close with the engineering trade-offs of doing this at scale: caching, bounding memory under load, and validating results against real process state across runtime versions.
Technologies Used
- OpenTelemetry eBPF Profiler
- Kuberentes
- .NET
Related Special Interest Groups (SIGs)
- Profiling SIG
- eBPF Profiler SIG
- .NET SIG
- Collector SIG
Sponsoring SIG
Profiling SIG
Sponsor Name
TBD
Additional Information
Blog Post Title
Making continuous .NET profiling practical for production Kubernetes workloads
Blog Post Outline
Continuous, low-overhead profiling has become essential for production observability, yet managed runtimes like .NET remain difficult to profile. Their call stacks combine dynamically generated and precompiled code, and unlike native binaries, human-readable function names are not exposed through the standard symbol formats a system profiler relies on. This post describes how a whole-system eBPF profiler reconstructs readable function names from raw instruction addresses with no code changes and under 1% overhead. Since most .NET services run on Kubernetes, I also cover attributing samples to the correct pod and container and mapping frames back to workloads without an in-process agent. I close with the engineering trade-offs of doing this at scale: caching, bounding memory under load, and validating results against real process state across runtime versions.
Technologies Used
Related Special Interest Groups (SIGs)
Sponsoring SIG
Profiling SIG
Sponsor Name
TBD
Additional Information