Announcing Continuous Allocation profiling for the Java Virtual Machine

Sadiq Jaffer

If you've ever struggled with understanding where in your application code Java's Garbage Collection and memory problems come from then our newest feature, Continuous Allocation Profiling, is the tool for you. It breaks down allocations by type and by line of allocating code, live from your production environment to give you all the information you need to optimise the parts of your applications with excessive allocation behaviour.

Continuous allocation profiling supports all the way from Java 8 to the soon-to-be-released 15 and works inside the existing low-overhead <1% performance impact. It continuously collects allocation data from your servers, enabling you to run queries on live and historic data. This enables you to analyse allocation behaviour during periods of poor performance even weeks after they occur - perfect for postmortem root-cause analysis.

Allocation profiling data from production is crucial for the Java Virtual Machine due to its aggressive run-time optimisations which attempt to avoid allocations where possible. This means the allocation behaviour of your application can well vary with the actual workload on it and makes performance diagnosis and optimisation in a development environment potentially difficult and misleading.

Customers have already been using allocation profiling to optimise their applications for over 6 months, identifying bottlenecks both in their own code and, crucially, in third party libraries that often evade direct scrutiny from your developers. One customer identified a poorly performing library routine that led to some of their services seeing a 60% reduction in allocation rates.

The new allocation profiling features work alongside Opsian’s continuous cpu and wallclock profiling features enabling you slice data across hosts, JVMs and application versions to identify performance bottlenecks both across your systems and also at the individual JVM level.


You can get started with Opsian’s full suite of continuous allocation, cpu and wallclock profiling capabilities today for free with a 14-day trial. If you are looking for a more bespoke solution that includes hands-on support with performance experts to really help you leverage Opsian to monitor and optimise your applications then don’t hesitate to get in touch with us to find out how we can help.

Manage Java or Scala applications? Want to make them perform better? Opsian can help

Related articles