Observability, Instrumentation and Bytecode Manipulation on the JVM
For the first time, we’re featuring a new podcast from an interview with InfoQ. Tal Weiss, OverOps co-founder & CEO, speaks with Wesley Reisz, QCon chair, and shares some stories outside the comfort zone of most Java developers – diving into the realms of bytecode manipulation on the JVM.
Let’s see what’s in it for you.
“This is one black box that we really want to open, it’s one of the things that can really up your game”
In the following podcast, Tal shows that bytecode manipulation and agents can be a fairly simple tools to use in order to debug applications. Measuring how long it takes for certain methods to run, capturing variables or transmitting any kind of other metric without having to hardcode it. In the bottom line, even though bytecode is closer to machine code than higher level languages – it’s still a high level language and understanding it can help you better understand your Java application.
Moreover, Tal also talks about the Pareto logging principle originating from original OverOps research: 97% of logged error statements are caused by 3% of unique errors. It doesn’t matter if you consume logs through Splunk, ELK, or your notepad – they’re mostly filled with lots of noise. Clearing your top 10 recurring log events errors would provide a significant value and help you see a clearer picture of how you application operates in production.
Check out the full podcast on Soundcloud:
The full notes and key takeaways by Wesley Reisz, are available on InfoQ. Also, be sure to check out the complete list of InfoQ podcasts on Soundcloud and iTunes. For a deeper dive, check out this open source profiling agent sample project on Github, and Tal’s O’Rielly course about debugging Java and Scala.
P.S Interested in more podcasts like this on the blog?
Let us know in the comments section below.