Class: Fluent::Plugin::MySQLSlowQueryInput
- Inherits:
-
TailInput
- Object
- TailInput
- Fluent::Plugin::MySQLSlowQueryInput
- Defined in:
- lib/fluent/plugin/in_mysql_slow_query.rb
Instance Method Summary collapse
- #parser_create(conf) ⇒ Object
- #receive_lines(lines, tail_watcher) ⇒ Object
- #search_last_use_database ⇒ Object
Instance Method Details
#parser_create(conf) ⇒ Object
24 25 26 |
# File 'lib/fluent/plugin/in_mysql_slow_query.rb', line 24 def parser_create(conf) return MySlog.new end |
#receive_lines(lines, tail_watcher) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/fluent/plugin/in_mysql_slow_query.rb', line 37 def receive_lines(lines, tail_watcher) es = Fluent::MultiEventStream.new @parser.divide(lines).each do |record| begin record = stringify_keys @parser.parse_record(record) if time = record.delete('date') time = time.to_i else time = Time.now.to_i end if record['db'].nil? || record['db'].empty? record['db'] = @last_use_database ? @last_use_database : search_last_use_database() end es.add(time, record) rescue $log.warn record, :error=>$!.to_s $log.debug_backtrace end end unless es.empty? begin router.emit_stream(@tag, es) rescue end end end |
#search_last_use_database ⇒ Object
28 29 30 31 32 33 34 35 |
# File 'lib/fluent/plugin/in_mysql_slow_query.rb', line 28 def search_last_use_database last_use_query = File.open(@path).grep(/^use /).last if last_use_query last_use_database = last_use_query.match(/^use ([^;]+)/) @last_use_database = last_use_database[1] if last_use_database return @last_use_database end end |