feat: add advanced profiling and correlation analysis (Phase 3-5) #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR implements Phase 3-5 of the Argus JVM Profiler expansion plan:
Phase 3: GC Deep Dive
jdk.ObjectAllocationInNewTLAB, identify top allocating classesjdk.MetaspaceSummaryPhase 4: CPU/Thread Deep Dive
jdk.ExecutionSample(configurable sampling interval)jdk.JavaMonitorEnterandjdk.JavaMonitorWaitPhase 5: Correlation Analysis
New Files (13)
argus-core:
AllocationEvent.java- TLAB allocation event recordMetaspaceEvent.java- Metaspace usage event recordExecutionSampleEvent.java- CPU profiling sample recordContentionEvent.java- Lock contention event recordargus-agent:
AllocationEventExtractor.java- JFR allocation extractorMetaspaceEventExtractor.java- JFR metaspace extractorExecutionSampleExtractor.java- JFR execution sample extractorContentionEventExtractor.java- JFR contention extractorargus-server:
AllocationAnalyzer.java- Allocation rate analysisMetaspaceAnalyzer.java- Metaspace trackingMethodProfilingAnalyzer.java- Hot methods analysisContentionAnalyzer.java- Lock contention analysisCorrelationAnalyzer.java- Cross-metric correlationNew API Endpoints
/allocation-analysis/metaspace-metrics/method-profiling/contention-analysis/correlationNew Configuration Options
argus.allocation.enabledtrueargus.allocation.threshold1024argus.metaspace.enabledtrueargus.profiling.enabledfalseargus.profiling.interval20argus.contention.enabledtrueargus.contention.threshold10argus.correlation.enabledtrueTest plan
./gradlew build🤖 Generated with Claude Code