class MysqlDumpSlow::Summary
Public Class Methods
new(logs)
click to toggle source
# File lib/mysql_dump_slow/summary.rb, line 5 def initialize(logs) @logs = SlowLog.new(logs) summarize end
Public Instance Methods
each(&block)
click to toggle source
# File lib/mysql_dump_slow/summary.rb, line 16 def each(&block) summary.each(&block) end
sort_by(order)
click to toggle source
# File lib/mysql_dump_slow/summary.rb, line 10 def sort_by(order) summary.sort_by do |counter| counter.send(order.to_sym) if counter.respond_to?(order.to_sym) end.reverse end
Private Instance Methods
summarize()
click to toggle source
# File lib/mysql_dump_slow/summary.rb, line 22 def summarize @logs.find_each do |log| sql = Sql.mask(log.sql_text) counter = summary.find{|s| s.abstract_query == sql } counter ||= ( summary << Counter.new(sql) ).last counter.count_up(log) end @summary = sort_by(:average_query_time) end
summary()
click to toggle source
# File lib/mysql_dump_slow/summary.rb, line 32 def summary @summary ||= [] end