mix raxol.memory.gates (Raxol v2.0.1)

View Source

Memory performance gates for CI/CD integration.

This task runs memory benchmarks and enforces performance gates, failing if memory usage exceeds defined thresholds.

Usage

mix raxol.memory.gates
mix raxol.memory.gates --scenario terminal_operations
mix raxol.memory.gates --strict
mix raxol.memory.gates --baseline path/to/baseline.json

Options

  • --scenario - Specific scenario to test (terminal_operations, plugin_system, load_testing)
  • --strict - Use strict thresholds (lower limits)
  • --baseline - Path to baseline results for comparison
  • --output - Output file for results (JSON format)
  • --time - Benchmark execution time in seconds (default: 3)
  • --memory-time - Memory measurement time in seconds (default: 2)

Memory Gates

Standard Thresholds

  • Peak memory usage: 3MB per session
  • Sustained memory usage: 2.5MB per session
  • GC pressure score: 0.8
  • Memory growth rate: 10% per hour

Strict Thresholds (--strict)

  • Peak memory usage: 2.5MB per session
  • Sustained memory usage: 2MB per session
  • GC pressure score: 0.6
  • Memory growth rate: 5% per hour

Exit Codes

  • 0: All gates passed
  • 1: Memory gates failed
  • 2: Benchmark execution failed
  • 3: Invalid configuration or arguments

Summary

Functions

Callback implementation for Mix.Task.run/1.

Functions

run(args)

@spec run(list()) :: no_return()

Callback implementation for Mix.Task.run/1.