A leading automobile manufacturer enhanced their middleware platform's response time by 49.46% through optimizing garbage collection with the GCeasy tool, reducing average response time from 1.88 seconds to 0.95 seconds. This adjustment, achieved without code modifications, also decreased transactions exceeding 25 seconds from 0.7% to 0.31%.
Garbage Collection events predominantly occur in the Java application layer, termed 'User' time, where the Garbage Collector identifies and marks active objects and evicts unreferenced ones. 'Sys' time represents the time spent in the Operating System/Kernel for memory allocation, deallocation, and disk I/O activities. Overall 'CPU' time combines both 'User' and 'Sys' time.
ConFoo Montreal is a conference for developers featuring Ram Lakshmanan, who presents on capturing 16 key artifacts during production problems, ranked 5th out of 155 sessions. The session emphasizes the importance of diagnostic information for troubleshooting and discusses effective tools for analyzing captured artifacts. Slide deck available for reference.
GCeasy and yCrash serve different purposes in application performance analysis. GCeasy focuses on optimizing Garbage Collection pause times, analyzing only GC logs, while yCrash offers comprehensive root cause analysis, examining multiple application artifacts. yCrash also enables automatic data capture, problem forecasting, and integrates with various tools, enhancing security and usability compared to GCeasy.
An Allocation Stall in concurrent Garbage Collection happens when an application creates objects faster than the system can free up memory, causing a brief pause in object creation. This can be caused by slow memory cleanup, high object creation rates, or fragmented memory. Solutions include adjusting heap size, increasing the number of cleanup threads, and improving memory use.
Developers use the JVM argument -XX:+UseGCLogFileRotation for rotating GC log files, which can lead to the loss or mixing of logs during app restarts. To prevent these issues, it's recommended to add timestamps to log file names, ensuring that new logs do not overwrite old ones, thus maintaining clarity and accessibility.
GCeasy’s JSON APIs facilitate application monitoring, focusing on critical metrics like 'isProblem', 'problem', 'graphURL', GC throughput, average and max GC pause times, object creation rate, and peak heap size. Alerts can be triggered based on specific thresholds for these metrics, ensuring optimal application performance during CI/CD processes.
