Argus 0.3.0
New Features
Phase 3: GC Deep Dive
- Allocation Rate Tracking - Track object allocations with configurable threshold
- Metaspace Monitoring - Monitor class metadata memory usage
- GC Overhead Calculation - Calculate GC time as percentage of total time
Phase 4: CPU/Thread Deep Dive
- Method Profiling - Identify hot methods with execution sampling (Top 20)
- Lock Contention Tracking - Detect synchronization bottlenecks
Phase 5: Correlation Analysis
- GC ↔ CPU Correlation - Detect CPU spikes around GC events
- GC ↔ Pinning Correlation - Identify pinning increases during GC
- Automatic Recommendations - Actionable insights for:
- GC overhead warnings (>10%)
- Memory leak detection
- Lock contention hotspots
- High allocation rate warnings
- Metaspace growth warnings
New Configuration Options
| Property | Default | Description |
|---|---|---|
argus.allocation.enabled |
false |
Enable allocation tracking (high overhead) |
argus.allocation.threshold |
1048576 |
Minimum allocation size to track (1MB) |
argus.metaspace.enabled |
true |
Enable metaspace monitoring |
argus.profiling.enabled |
false |
Enable method profiling (high overhead) |
argus.profiling.interval |
20 |
Profiling sampling interval (ms) |
argus.contention.enabled |
false |
Enable lock contention tracking |
argus.contention.threshold |
50 |
Minimum contention duration to track (ms) |
argus.correlation.enabled |
true |
Enable correlation analysis |
New API Endpoints
/allocation-analysis- Allocation rate and top allocating classes/metaspace-metrics- Metaspace usage statistics/method-profiling- Hot methods analysis/contention-analysis- Lock contention hotspots/correlation- Correlation analysis and recommendations
Usage
Production (Safe Defaults)
java -javaagent:argus-agent-0.3.0.jar \
-Dargus.server.enabled=true \
--enable-preview \
-jar your-app.jarFull Profiling (Development/Testing)
java -javaagent:argus-agent-0.3.0.jar \
-Dargus.server.enabled=true \
-Dargus.allocation.enabled=true \
-Dargus.profiling.enabled=true \
-Dargus.contention.enabled=true \
--enable-preview \
-jar your-app.jarBreaking Changes
None
Full Changelog: v0.2.0...v0.3.0
What's Changed
- feat: Enhanced Pinning Analysis with Stack Trace Grouping by @rlaope in #18
- feat: add event export functionality by @rlaope in #19
- feat: add Memory/GC and CPU monitoring by @rlaope in #20
- feat: add advanced profiling and correlation analysis (Phase 3-5) by @rlaope in #21
Full Changelog: v0.2.0...v0.3.0