As of December 2022, Opsian's commercial services are no longer available. However, we have left some of our blog content online in case it is helpful to anyone.
In this video we will look at how Flame Graphs from Opsian's Continuous Profiling system can lead to a 25x increase in performance on an example system exhibiting CPU time problems
Part 2 of Opsian's interview with Aleksey Shipilëv we discuss his work with Shenandoah, the concurrent Garbage Collector for Java and the reasons why we're seeing a new wave of state-of-the-art concurrent Garbage Collectors
Opsian’s Richard Warburton had the pleasure of sitting down with Aleksey Shipilëv and getting his thoughts on a range of topics. In Part 1 of the interview, Aleksey and Richard discuss the current state of JDK updates.
You might be wondering what the second Gulf War, Persian poetry and 1950s psychology techniques have to do with scaling your platform and in this article we'll see how they each feed into a powerful technique for better understanding the performance of your software.
In a battle-hardened code base, all normal bugs were fixed - those that remain are usually quite bizarre. This is a story of one such bug and how it uncovered a less than optimal implementation in the JDK itself.
Continuous Profiling is a powerful and under-utilised technique for helping teams understand what their code is actually doing in production. If you want to know how to eliminate performance bottlenecks, save costs and recover from performance regressions quickly then this article covers the what, why and how on Continuous Profiling.
Founders Richard and Sadiq give a tutorial on Continuous Profiling in Java at the Virtual Java User Group. Find out how profiling in production can uncover performance bottlenecks, aid scalability and reduce your costs.
Production is everything. If your software doesn’t perform in production, it doesn’t perform. Thankfully there’s a range of information that you can measure and monitor that helps you understand your production system and solve any issues that may arise. But where do you start and what should you monitor and measure? What are the tradeoffs between different approaches?
Java 11 features a new Garbage Collector, the Z Garbage Collector (ZGC), which is designed for very low pause times on huge multi-terabyte heaps. In this article we'll cover the motivation for a new GC, a technical overview and some of the really exciting possibilities ZGC opens up.
Time waits for no one, but it will wait for a thread. This blog post can help you solve performance problems more easily by describing the different types of information that you can get out of an execution profiler, why they matter and how you can use them.