Class: BrainzLab::Rails::Collectors::ActiveRecord

Inherits:
Base
  • Object
show all
Defined in:
lib/brainzlab/rails/collectors/active_record.rb

Overview

Collects Active Record database events Provides deep database observability including N+1 detection

Instance Attribute Summary

Attributes inherited from Base

#configuration

Instance Method Summary collapse

Constructor Details

#initialize(configuration) ⇒ ActiveRecord

Returns a new instance of ActiveRecord.



9
10
11
12
13
# File 'lib/brainzlab/rails/collectors/active_record.rb', line 9

def initialize(configuration)
  super
  @n_plus_one_detector = Analyzers::NPlusOneDetector.new
  @slow_query_analyzer = Analyzers::SlowQueryAnalyzer.new(configuration)
end

Instance Method Details

#process(event_data) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/brainzlab/rails/collectors/active_record.rb', line 15

def process(event_data)
  case event_data[:name]
  when 'sql.active_record'
    handle_sql(event_data)
  when 'instantiation.active_record'
    handle_instantiation(event_data)
  when 'start_transaction.active_record'
    handle_start_transaction(event_data)
  when 'transaction.active_record'
    handle_transaction(event_data)
  when 'strict_loading_violation.active_record'
    handle_strict_loading_violation(event_data)
  end
end