Sha256: 6613afad6f613345851e17b772355ec019931562b36c61cc4b60ebc565cd403f

Contents?: true

Size: 1.26 KB

Versions: 15

Compression:

Stored size: 1.26 KB

Contents

# encoding: UTF-8
require_relative 'helper'
require 'fluent/plugin/out_record_reformer'
require 'benchmark'
Fluent::Test.setup

def create_driver(config, tag = 'foo.bar')
  Fluent::Test::OutputTestDriver.new(Fluent::RecordReformerOutput, tag).configure(config)
end

# setup
message = {'message' => "2013/01/13T07:02:11.124202 INFO GET /ping"}
time = Time.now.to_i

enable_ruby_driver = create_driver(%[
  enable_ruby true
  output_tag reformed.${tag}
  message ${tag_parts[0]}
])
disable_ruby_driver = create_driver(%[
  enable_ruby false
  output_tag reformed.${tag}
  message ${tag_parts[0]}
])

# bench
n = 1000
Benchmark.bm(7) do |x|
  x.report("enable_ruby")  { enable_ruby_driver.run  { n.times { enable_ruby_driver.emit(message, time)  } } }
  x.report("disable_ruby") { disable_ruby_driver.run { n.times { disable_ruby_driver.emit(message, time) } } }
end

#BEFORE REFACTORING
#              user     system      total        real
#enable_ruby  0.310000   0.000000   0.310000 (  0.835560)
#disable_ruby  0.150000   0.000000   0.150000 (  0.679239)

#AFTER REFACTORING (PlaceholderParser and RubyPlaceholderParser)
#              user     system      total        real
#enable_ruby  0.290000   0.010000   0.300000 (  0.815281)
#disable_ruby  0.060000   0.000000   0.060000 (  0.588556)

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
fluent-plugin-record-reformer-0.9.1 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.9.0 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.8.3 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.8.2 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.8.1 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.8.0 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.7.2 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.7.1 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.7.0 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.6.3 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.6.2 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.6.1 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.6.0 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.5.0 test/bench_out_record_reformer.rb
fluent-plugin-record-reformer-0.4.0 test/bench_out_record_reformer.rb