# File lib/fluent/plugin/bare_output.rb, line 41 def initialize super @counters_monitor = Monitor.new # TODO: well organized counters @num_errors = 0 @emit_count = 0 @emit_records = 0 end
# File lib/fluent/plugin/bare_output.rb, line 50 def emit_sync(tag, es) @counters_monitor.synchronize{ @emit_count += 1 } begin process(tag, es) @counters_monitor.synchronize{ @emit_records += es.size } rescue @counters_monitor.synchronize{ @num_errors += 1 } raise end end
# File lib/fluent/plugin/bare_output.rb, line 37 def process(tag, es) raise NotImplementedError, "BUG: output plugins MUST implement this method" end