Yandex Perforator: Continuous Profiling and sPGO
ToolingComments
The post mentions offline symbolization keeps the agent footprint minimal. Does this account for the storage and bandwidth overhead of shipping raw traces to the symbolization server?
If the symbolization is truly offline... could this be used for proprietary binaries where we can't ship symbols to the agent... like legacy banking cores?
I disagree that offline symbolization is the primary driver of the low footprint. eBPF's ability to aggregate maps in kernel space is what actually prevents the agent from choking on data.
google's autopilot already solved this for managed services.
We saw similar claims with early Google-style profiles before the data ingestion pipeline became the actual bottleneck. Is Perforator's ingestion layer designed for the same scale as the collection agent?
This is how you actually scale performance. Most teams just stare at dashboards and guess while sPGO lets the compiler do the heavy lifting based on real traffic.
To expand on that, sPGO specifically targets instruction cache efficiency by reorganizing basic blocks. This reduces I-cache misses during hot paths in a way that manual tuning rarely achieves.