JAX London 2014: A retrospective
Coming down the pipe

One To Watch: Plumbr, Java memory leak detection

ElliotBentley
plumbr1

A new tool promises to track your leaks down to exact line in the source code, with minimum overhead.

Memory leaks are a universal problem in every language. So, on the face of it, Plumbr – which monitors Java applications for potentially destructive memory leaks – shouldn’t be so remarkable. Yet CEO Priit Potter claims that his company’s tool is the first able to identify the exact line number in the source code causing the issue.

“The problem is, the causes for memory leaks are very application-specific,” says Potter. “The symptoms are very universal. You see that the application is getting slower, the available amount of memory is decreasing, and finally your application crashes.

“But the cause – the reason for the leak – is very much application-specific, and that’s why there are no good tools for it. Because you don’t have any universal checklist.”

Plumbr takes a machine-learning approach, and once installed “really gets to know your application,” says Potter. “It learns how application uses memory, how long the objects live in memory, how they behave in the memory. So then it starts seeing patterns there, and when Plumbr is confident enough there is a memory leak, then it announces the leak and tells you which line in the code is the faulty one.”

The company are so confident in the app’s detective abilities that they recently announced a new policy: if Plumbr itself fails to find the source of a leak, the team will find it for you.

Potter says only “two or three” customers have taken Plumbr up on this offer, and in all cases, Plumbr was detecting the leak correctly – the customers were simply misreading the results.

“Our conclusion was that we still need to make the report more understandable,” says Potter.

Still, the team are somewhat modest when discussing the capabilities of Plumbr. In a recent blog post announcing Plumbr 1.2’s reductions in CPU and memory overhead, they humbly asked: “would you consider a tool with overhead numbers like this for a production deployment?”

And few companies would be brave enough to include statistics on their homepage such as “15% of Plumbr memory leak reports are false alarms” or “your application uses 23% more CPU with Plumbr” – but this is all part of the company’s differentiation strategy.

“We are a new name on the market,” says Potter. “So we have to try to be open, and give more information so that people can make an informed decision.”

Plumbr licenses start at $149.99 per year, but you can download a trial version for free.

Author
Comments
comments powered by Disqus