Module: SeamlessDatabasePool::ConnectionStatistics

Defined in:
lib/seamless_database_pool/connection_statistics.rb

Overview

This module is included for testing. Mix it into each of your database pool connections and it will keep track of how often each connection calls update, insert, execute, or select.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object


6
7
8
9
10
11
# File 'lib/seamless_database_pool/connection_statistics.rb', line 6

def self.included(base)
  base.alias_method_chain(:update, :connection_statistics)
  base.alias_method_chain(:insert, :connection_statistics)
  base.alias_method_chain(:execute, :connection_statistics)
  base.alias_method_chain(:select, :connection_statistics)
end

Instance Method Details

#connection_statisticsObject

Get the connection statistics


14
15
16
# File 'lib/seamless_database_pool/connection_statistics.rb', line 14

def connection_statistics
  @connection_statistics ||= {}
end

#execute_with_connection_statistics(sql, name = nil) ⇒ Object


34
35
36
37
38
# File 'lib/seamless_database_pool/connection_statistics.rb', line 34

def execute_with_connection_statistics(sql, name = nil)
  increment_connection_statistic(:execute) do
    execute_without_connection_statistics(sql, name)
  end
end

#insert_with_connection_statistics(sql, name = nil) ⇒ Object


28
29
30
31
32
# File 'lib/seamless_database_pool/connection_statistics.rb', line 28

def insert_with_connection_statistics(sql, name = nil)
  increment_connection_statistic(:insert) do
    insert_without_connection_statistics(sql, name)
  end
end

#reset_connection_statisticsObject


18
19
20
# File 'lib/seamless_database_pool/connection_statistics.rb', line 18

def reset_connection_statistics
  @connection_statistics = {}
end

#update_with_connection_statistics(sql, name = nil) ⇒ Object


22
23
24
25
26
# File 'lib/seamless_database_pool/connection_statistics.rb', line 22

def update_with_connection_statistics(sql, name = nil)
  increment_connection_statistic(:update) do
    update_without_connection_statistics(sql, name)
  end
end