Atlassian has developed and adopted a continuous profiling system for JVM applications to improve incident diagnosis and performance engineering. Initially, an in-house solution using AWS Systems Manager, Linux perf, and async-profiler was built to provide CLI-based profiling and flame graph visualization. Limitations in capturing transient issues and providing baselines led to the development of a continuous profiling system that scheduled regular profiling runs, stored data in Apache ORC format on S3, and enabled querying via AWS Athena. The team then evaluated and adopted Amazon CodeGuru Profiler as a platform-level solution, integrating it to provide continuous profiling capabilities to all Atlassian service teams. This has been used to identify and resolve issues such as excessive thread blocking due to synchronized EnumMaps by migrating to ConcurrentHashMap.
All Atlassian trails