I invite you to follow along the journey of a bug hunt, based on a real story.
The story is about a Java/OSGi IoT stack, running on edge devices all over the world. They act as gateways between the local Intranet of Things and the Internet. This of course brings its own challenges, especially when analyzing problems which are not so easy to reproduce and feel completely weird at the beginning. They are embedded devices based on some proprietary hardware, having a customized linux operating system and are highly secured. They are basically the opposite of what makes the lives of us developers easy.
It all started with an UnknownHostException which was found in a log file by coincidence and a vague feeling that something must have gone terribly wrong.
Within this talk, I will use this storyline to set the context for giving a brief overview on the most popular tools and technologies which can help to analyze misbehaviors of Java programs which go beyond what can be identified easily by just using a debugger.
We will have some quick insights into
- remote monitoring using Logstash & Kibana
- the Eclipse Memory Analyzer to analyze snapshots of the Java heap
- the JVM's Flight Recorder to visualize the runtime behavior over time
- and also learn something about native memory management of the JVM
As an attendee of this talk, you will have an overview afterward of the most popular tools for memory analysis on different levels and what they are good for.