Java Performance Analysis and Optimization
summary
Continuous async-profiler agents produce 30s JFR snapshots (50–270 KB) sent to S3 and trigger analysis when Grafana alerts at >20 rps, the deterministic Java pipeline parses JFR, generates collapsed stacks and flamegraphs, and collects thread dumps (example recording had ~7,600 samples); an AI step (Amazon Bedrock) correlates stacks and thread states, pinpoints code (RequestContextFilter.java lines 29–33), and suggests replacing ScopeValue with ThreadLocal, with automated GitHub patching shown working in the demo. async-profiler Prometheus + Grafana Amazon Bedrock
AI-written summary · about
chapters (8)
- 0:00Introduction
- 1:41Setting the scene
- 5:12Deterministic pipeline
- 18:28Demo setup
- 25:22AI part with Spring AI
- 39:15Analysis results
- 42:07Architecture summary
- 43:10Resources and next steps
related talks
33mWriting a Java Profiler in Pure Java
50mObservability Beyond the Three Pillars — Continuous Profiling With Alibaba Dragonwell
46mProfiling your Java Application A Beginner’s Guide
41mUnleash the Power of Open-Source Java Profilers
56mJava Performance Analysis
50mJPoint 2023 TechRadar: Performance Tools
56mContinuous Profiling the missing piece in your observability puzzle
32mOps for Developers - Monitor Your Java Application with Prometheus
