The article discusses the differences between APM tools like AppDynamics and GC log analysis tools such as GCeasy. APM tools monitor application performance in production, while GCeasy offers detailed insights into Garbage Collection metrics, phases, causes, and optimization recommendations. GCeasy complements APM tools, enhancing memory management and performance tuning across environments.
Java 9 introduces significant changes to GC logging, transitioning to a Unified GC logging framework. Key updates include the removal of 43 system properties and the deprecation of three commonly used properties. The log format has changed, providing additional information. Users must adapt any scripts/tools to accommodate the new format for effective analysis.
The variability of GC log formats, influenced by JVM versions, vendors, and algorithms, necessitated the 'GC Log standardization API' that converts these logs into a unified JSON format. This facilitates detailed analysis, allowing users to import data into visualization tools. Easy invocation of the API is outlined for developers.
GC logs detail the time taken for GC events, reporting 'user', 'sys', and 'real' times. 'Real' time is the elapsed clock time, while 'user' and 'sys' times reflect CPU time in user-mode and kernel, respectively. Real time can exceed user + sys time due to heavy I/O activity or lack of CPU, indicating potential performance issues.
In Java 9, G1 GC will become the default garbage collector. One of the key features of G1 Garbage collector is its ability to limit the GC pause time (i.e. you can set the desired maximum pause time) without compromising on throughput.
