class MysqlDumpSlow::Counter
Constants
- TIME_BASE_SEC
Attributes
abstract_query[R]
total_count[R]
total_lock_time[R]
total_query_time[R]
total_rows_sent[R]
user_hosts[R]
Public Class Methods
new(abstract_query)
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 7 def initialize(abstract_query) @abstract_query = abstract_query end
Public Instance Methods
average_lock_time()
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 27 def average_lock_time total_lock_time / total_count end
average_query_time()
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 23 def average_query_time total_query_time / total_count end
average_rows_sent()
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 31 def average_rows_sent total_rows_sent / total_count end
count_up(log)
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 11 def count_up(log) count_up_query_time(log.query_time) count_up_lock_time(log.lock_time) count_up_rows_sent(log.rows_sent) count_up_user_host(log.user_host) count_up_counter end
to_mysqldumpslow()
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 35 def to_mysqldumpslow <<-EOS Count: #{total_count} Time=#{average_query_time/1000}s (#{total_query_time/1000}s) Lock=#{average_lock_time/1000}s (#{total_lock_time/1000}s) Rows=#{average_rows_sent} (#{total_rows_sent}), #{ user_hosts.size == 1 ? user_hosts.first : user_hosts.size.to_s + 'hosts'} #{abstract_query} EOS end
total_user_host()
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 19 def total_user_host @user_hosts.size end
Private Instance Methods
count_up_counter()
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 44 def count_up_counter @total_count ||= 0 @total_count += 1 end
count_up_lock_time(lock_time)
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 54 def count_up_lock_time(lock_time) @total_lock_time ||= 0 @total_lock_time += time_to_ms(lock_time - TIME_BASE_SEC) end
count_up_query_time(query_time)
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 49 def count_up_query_time(query_time) @total_query_time ||= 0 @total_query_time += time_to_ms(query_time - TIME_BASE_SEC) end
count_up_rows_sent(rows_sent)
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 59 def count_up_rows_sent(rows_sent) @total_rows_sent ||= 0 @total_rows_sent += rows_sent end
count_up_user_host(user_host)
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 64 def count_up_user_host(user_host) @user_hosts ||= [] @user_hosts << user_host unless @user_hosts.include?(user_host) end
time_to_ms(time)
click to toggle source
# File lib/mysql_dump_slow/counter.rb, line 69 def time_to_ms(time) time.instance_eval { self.to_i * 1000 + (usec / 1000) } end