AI search specialist Elastic has announced that its Universal Profiling agent has been accepted into OpenTelemetry’s (OTel) continuous profiling project. This development is recognised as a significant milestone in the establishment of profiling as the fourth telemetry signal within OpenTelemetry.
The Universal Profiling agent is a whole-system, always-on, continuous profiling solution. This means that it can operate without the need for code instrumentation, recompilation, on-host debug symbols, or service restarts. By leveraging eBPF, Elastic's agent provides comprehensive profiling of every line of code running on a machine, including application code, kernel, and third-party libraries.
The solution is designed to measure code efficiency across three dimensions: CPU utilization, CO2 emissions, and cloud cost. The goal is to help organisations manage efficient services by minimising computational waste. Unlike traditional profiling, which is typically conducted during specific development phases or under controlled test conditions, continuous profiling operates in the background. This approach provides real-time, actionable insights without requiring issues to be replicated in separate environments. It is expected to offer Site Reliability Engineers (SREs), DevOps, and developers greater visibility into how code impacts performance and cost, thereby facilitating improvements in code and infrastructure.
“Our relationship with OTel continues to flourish, particularly in the last year where our donation of Elastic Common Schema, along with deep collaboration and mindshare with the OTel teams, have laid the foundation for successful, stable profiling,” said Abhishek Singh, General Manager of Observability at Elastic. He added that the integration of Elastic's Universal Profiling agent marks another step forward in this journey. The collaboration is expected to provide the global OTel community with unprecedented visibility into fragmented, rapidly evolving application environments.
The Universal Profiling agent by Elastic supports a wide range of runtimes and languages, including C/C++, Rust, Zig, Go, Java, Python, Ruby, PHP, Node.js, V8, Perl, and .NET. As part of the donation, Elastic will also contribute a dedicated team of profiling experts to co-maintain and enhance profiling capabilities within OTel.