Skip to content

Argus 0.3.0

Choose a tag to compare

@rlaope rlaope released this 27 Jan 02:25
· 199 commits to master since this release

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.jar

Full 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.jar

Breaking 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