Sha256: a1f7680abd36cc55d1f220cef0f2cf54bf44ba9c71997d90803a3edb85ca1db8
Contents?: true
Size: 872 Bytes
Versions: 1
Compression:
Stored size: 872 Bytes
Contents
module Dexter class LogParser REGEX = /duration: (\d+\.\d+) ms (statement|execute <unnamed>): (.+)/ LINE_SEPERATOR = ": ".freeze def initialize(logfile, collector) @logfile = logfile @collector = collector end def perform active_line = nil duration = nil @logfile.each_line do |line| if active_line if line.include?(LINE_SEPERATOR) process_entry(active_line, duration) active_line = nil else active_line << line end end if !active_line && m = REGEX.match(line.chomp) duration = m[1].to_f active_line = m[3] end end process_entry(active_line, duration) if active_line end private def process_entry(query, duration) @collector.add(query, duration) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pgdexter-0.2.1 | lib/dexter/log_parser.rb |