Rookout Agile Flame Graphs GA
March
24,
2021
Rookout's
Agile Flame Graphs aims to provide developers with a fully visualized
understanding of how their code is impacting other applications and
services. It empowers developers to instantly analyze the performance
impact of individual lines of code, by bringing distributed tracing data
into the debugging workflow.
“Until today, developers were blind to the performance of this code in
production environments, due to the significant performance overhead of
profiling tools,” said Liran Haimovitch, CTO and Co-Founder of Rookout.
“Agile Flame Graphs allows software engineers to select a section of
code and instantly visualize the latency between functions and
individual lines of code, within and across distributed systems.”
Traditional code profiling tools that collect data from every line of
code or function within an application lead to a massive amount of noise
and performance overhead that prevents developers from using them in
production environments. A study published by the Cambridge Judge
Business School found that 620 million developer hours a year are wasted
on debugging software failures, at a cost of roughly $61 billion
annually. The report also notes software engineers spend on average 13
hours to fix a single software failure. Rookout’s Agile Flame Graphs
collect only the most useful data across applications, such as CPU
consumption and latency between microservices, then visualizes it in an
easily accessible manner.
“Nobody profiles code anymore because traditional tools have too much
overhead to use in production and local environments don’t match the
reality of scale,” said Patrick Lightbody, Co-founder of Reclaim.ai,
Former SVP of Product at New Relic. “Rookout's Agile Flame Graphs give
us the ability to instantly collect ad-hoc performance metrics from any
line of code which is critical when dealing with live incidents.”
Arnal
Dayaratna, Research Director for Software Development at IDC said,
"Typically, remote debugging requires sifting through voluminous amounts
of log files or attempting to replicate the issue in question in another
environment (preproduction, staging, etc.)...Both approaches are also
very time-consuming, leading to prolonged mean time to resolution (MTTR)
as well as to developers' "wasting" time on nonproductive activities
(determining the root cause) rather than fixing the code issue or
developing new features."
Jason Bloomberg, President at Intellyx added, "A single line of code may
not only affect multiple microservices running across the Kubernetes
landscape, but each microservice may depend upon other microservices or
other software components – again dynamically. The connection between
individual lines of code and the behavior of all software running in
production is thus tenuous at best. The only way to keep the entire
effort from running off the rails is to rigorously follow cloud-native
principles while leveraging tools that support those principles [...] An
understandability tool like Rookout brings information about the running
software in production to developers, providing visibility into how
individual lines of code impact the behavior of running software,
without impacting that software."
|