eBPF Observability Agent Flora lands from groundcover
|Brittany Hainzinger in Programming Tuesday, May 9, 2023|
Flora, the eBPF observability agent has landed from groundcover. It was built with a strict performance mindset, which promises full observability at high scales while costing next to zero overhead. eBPF is on the fast track to becoming the next standard for observability platforms.
groundcover recently introduced Flora, a newly released eBPF-based observability agent that was built with a strict performance mindset - promising full observability at high scales while costing next to zero overhead. Flora has dramatically outperformed all leading observability platforms such as Datadog, OpenTelemetry, and New Relic’s modern eBPF solution - Pixie Labs.
The conducted benchmark simulated a high-volume environment tracking a simple baseline HTTP server application for metrics of CPU and memory consumption before and after the integration of the various observability platforms in question.
Flora demonstrated minimal to zero overhead to the application’s CPU (+9%) and memory (+0%), while Datadog, OpenTelemetry, and the Pixie agent inflicted dramatic overhead of 249%, 59%, and 32% above the CPU baseline, respectively, and 227%, 27% and 9% above the memory baseline.
Flora, the new eBPF Observability Agent from groundcover
Additionally, under a limited CPU environment for the monitored application, the overhead added by Datadog, OpenTelemetry, and the Pixie agent was also demonstrated to significantly limit the bandwidth for the HTTP server, reducing the volume of handled requests by 71%, 19%, and 12%, respectively, compared to the measured baseline.
All other solutions but Flora raised the resource consumption of the application dramatically and in an unexpected manner, potentially causing the application to reach CPU throttling that might degrade its performance or even create an out-of-memory crash (OOM) in a limited environment.
Flora also proved to be highly efficient in the total resources it consumed, making it the most cost-effective solution at a high scale. When combining the resources consumed by the different agents tested and the overhead measured on the monitored application, Flora consumed a total CPU that was similar to the one used by OpenTelemetry and the Pixie agent, but that was 73% less than the CPU consumed by Datadog. Additionally, Flora consumed 74%, 77%, and 96% less memory than Datadog, OpenTelemetry, and the Pixie agent, respectively.
One of the hardest challenges for any modern observability tool is being able to keep up with the ever-growing scale of data, delivering a comprehensive, accurate picture of a system, all while leaving a minimal footprint. With many leading observability solutions dramatically impacting the resource consumption of the applications they are in charge of monitoring - eventually limiting their performance or causing cost surges, engineers are more and more aware of the hidden overhead inflicted by their observability stack.
eBPF is on the fast track to becoming the next standard for observability platforms enabling low-friction integration and deep visibility coverage, yet existing eBPF-based approaches still have a long way to go when it comes to operating at high scale.
Flora is based on two key ideas that allow it to operate at a massively high scale. The first is the use of new, unorthodox eBPF concepts that unlock extremely low overhead data-transferring mechanisms. The second is a nearly zero-copy, memory-efficient pipeline which converts observations flowing from the kernel into meaningful outputs.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more