Company
Date Published
Author
Andreas Grabner
Word count
1182
Language
American English
Hacker News points
None

Summary

Dynatrace's Engineering Productivity and Infrastructure & Services Teams successfully addressed performance issues with their Continuous Integration system, primarily relying on Jenkins, while adapting to remote work. A key incident on March 31st revealed unusual high page load times and intermittent outages, which Dynatrace's monitoring tool, DavisĀ®, traced to excessive garbage collection suspension times. By using Dynatrace's Memory Profiling feature, the team identified a "memory hungry" Jenkins plugin responsible for the high memory allocation and subsequent garbage collection issues. Removing this plugin resulted in a threefold improvement in Jenkins performance and reduced CPU pressure. However, upgrading to Java 11 to leverage new profiling capabilities introduced a separate thread leak issue, which was identified as a JDK bug and was subsequently addressed. These optimizations led to a more efficient Jenkins operation, with reduced resource requirements and improved performance, as confirmed by Synthetic tests. The blog encourages readers to apply similar memory profiling techniques to improve Java application efficiency, offering a free Dynatrace trial to facilitate this process.