lib/fluent/plugin/out_datacalculator.rb in fluent-plugin-datacalculator-0.0.2 vs lib/fluent/plugin/out_datacalculator.rb in fluent-plugin-datacalculator-0.0.3

- old
+ new

@@ -3,10 +3,11 @@ Fluent::Plugin.register_output('datacalculator', self) config_param :count_interval, :time, :default => nil config_param :unit, :string, :default => 'minute' config_param :aggregate, :string, :default => 'tag' + config_param :aggregate_delimiter, :string, :default => '_$_' config_param :tag, :string, :default => 'datacalculate' config_param :input_tag_remove_prefix, :string, :default => nil config_param :formulas, :string config_param :finalizer, :string, :default => nil @@ -192,11 +193,11 @@ if @aggregate == 'keys' outputs = [] counts.keys.each do |pat| output = {} - pat_val = pat.split('_').map{|x| x.to_i } + pat_val = pat.split(@aggregate_delimiter).map{|x| x.to_s } counts[pat].each_with_index do |count, i| name = @_formulas[i][1] output[name] = count end @@ -278,10 +279,10 @@ def emit_aggregate_keys (tag, es, chain) cs = {} es.each do |time, record| matched = false - pat = @aggregate_keys.map{ |key| record[key] }.join('_') + pat = @aggregate_keys.map{ |key| record[key] }.join(@aggregate_delimiter) cs[pat] = [0] * @_formulas.length unless cs.has_key?(pat) if @_formulas.length > 0 @_formulas.each do | index, outkey, inkeys, formula| next unless formula and checkArgs(record, inkeys)