Home / Companies / Elastic / Blog / Post Details
Content Deep Dive

System profiling that unwinds stack without frame pointers and symbols

Blog post from Elastic

Post Details
Company
Date Published
Author
Sean Heelan,
Word Count
1,767
Language
-
Hacker News Points
-
Summary

Elastic Universal Profiling™, developed from technology acquired from optimyze.cloud, introduces a novel approach to stack unwinding in production environments without relying on frame pointers or debug symbols. This continuous profiling product leverages C++ exception handling data, specifically the .eh_frame section, to enable frictionless profiling across various runtimes on Linux systems. Traditional methods of stack unwinding became impractical due to compiler optimizations that omit frame pointers, leading to challenges in profiling third-party libraries. The innovative solution involves using eBPF to detect executables without frame pointers, and a userspace agent processes the .eh_frame data into a more accessible format for kernel use, thus facilitating efficient stack unwinding. This approach allows Elastic Universal Profiling™ to provide comprehensive system-wide profiling capabilities without the need for recompilation or debug symbols, marking a significant advancement in observability tools for production systems.