example/out_exec_filter.conf
<source>
@type sample
@label @exec
tag exec_input
rate 10
auto_increment_key num
sample {"data":"mydata"}
</source>
<label @exec>
<match exec_input>
@type exec_filter
@label @stdout
tag result
command ruby -e 'STDOUT.sync = true; proc = ->(){line = STDIN.readline.chomp; puts line + "\t" + Process.pid.to_s}; 1000.times{ proc.call }'
num_children 3
child_respawn -1
<inject>
time_key time
time_type float
</inject>
<format>
@type tsv
keys data, num, time
</format>
<parse>
@type tsv
keys data, num, time, pid
</parse>
<extract>
time_key time
time_type float
</extract>
</match>
</label>
<label @stdout>
<match result>
@type stdout
</match>
</label>