Raxol.Core.Performance.Analyzer (Raxol v0.3.0)

View Source

Analyzes performance metrics and generates insights for AI analysis.

This module:

  • Processes performance metrics
  • Identifies performance patterns
  • Generates optimization suggestions
  • Formats data for AI analysis

Usage

# Get metrics from monitor
metrics = Monitor.get_metrics(monitor)

# Analyze metrics
analysis = Analyzer.analyze(metrics)

# Get AI-ready data
ai_data = Analyzer.prepare_ai_data(analysis)

Summary

Functions

Analyzes performance metrics and generates insights.

Prepares performance data for AI analysis.

Functions

analyze(metrics)

Analyzes performance metrics and generates insights.

Parameters

  • metrics - Map of performance metrics from Monitor

Returns

Map containing analysis results:

  • :performance_score - Overall performance score (0-100)
  • :issues - List of identified performance issues
  • :suggestions - List of optimization suggestions
  • :patterns - Identified performance patterns
  • :trends - Performance trends over time

Examples

iex> metrics = %{
  fps: 60,
  avg_frame_time: 16.5,
  jank_count: 2,
  memory_usage: 1234567,
  gc_stats: %{...}
}
iex> Analyzer.analyze(metrics)
%{
  performance_score: 85,
  issues: ["High memory usage", "Occasional jank"],
  suggestions: ["Optimize memory allocation", "Profile render loop"],
  patterns: %{...},
  trends: %{...}
}

prepare_ai_data(analysis)

Prepares performance data for AI analysis.

Parameters

  • analysis - Analysis results from analyze/1

Returns

Map containing AI-ready data:

  • :metrics - Raw performance metrics
  • :analysis - Analysis results
  • :context - Additional context for AI
  • :format - Data format specification

Examples

iex> metrics = %{fps: 60, ...}
iex> analysis = Analyzer.analyze(metrics)
iex> ai_data = Analyzer.prepare_ai_data(analysis)
iex> Map.has_key?(ai_data, :metrics)
true