the problem with a lot of thread dump analyzers, such as Samurai is they take a really basic approach to analysis. basically, there is nothing about cpu usage because it is not "in the thread dump".

I'm not 100% sure what they do as it isn't open source, but it seems fastthread.io checks your thread dump against known issues that are not memory related. For example, there is this known issue: https://nu.federati.net/url/280856

Samurai doesn't catch it, but fastthread.io does. It isn't a theoretical issue. I just resolved this exact issue for a customer. Now, you might notice that post is from 2015. This issue exists in Java 7 and Java 8. I have no idea about other java versions, but a high % of the world seems to still be on Java 8. Side note, there is going to be a lot of java work in the next year: https://endoflife.date/java