Class: RailsPulse::Analysis::BacktraceAnalyzer

Inherits:
BaseAnalyzer
  • Object
show all
Defined in:
app/services/rails_pulse/analysis/backtrace_analyzer.rb

Instance Attribute Summary

Attributes inherited from BaseAnalyzer

#operations, #query

Instance Method Summary collapse

Methods inherited from BaseAnalyzer

#initialize

Constructor Details

This class inherits a constructor from RailsPulse::Analysis::BaseAnalyzer

Instance Method Details

#analyzeObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/services/rails_pulse/analysis/backtrace_analyzer.rb', line 6

def analyze
  backtraces = extract_backtraces

  {
    total_executions: operations.count,
    unique_locations: backtraces.uniq.count,
    most_common_location: find_most_common_location(backtraces),
    potential_n_plus_one: detect_simple_n_plus_one_pattern,
    execution_frequency: calculate_execution_frequency,
    location_distribution: calculate_location_distribution(backtraces),
    code_hotspots: identify_code_hotspots(backtraces),
    execution_contexts: analyze_execution_contexts(backtraces)
  }
end