Add queue size flag

This commit is contained in:
Jordan Sissel 2013-04-15 16:34:24 -07:00
parent 00e4190c91
commit 24775a1941

View file

@ -46,6 +46,7 @@ class LogStash::Agent
# flag/config defaults # flag/config defaults
@verbose = 0 @verbose = 0
@filterworker_count = 1 @filterworker_count = 1
@queue_size = 10
@watchdog_timeout = 10 @watchdog_timeout = 10
@configtest = false @configtest = false
@ -99,6 +100,11 @@ class LogStash::Agent
end end
end # -w end # -w
opts.on("--queue-size COUNT", Integer,
"Set internal input->filter and filter->output queue size") do
@queue_size = arg
end
opts.on("--watchdog-timeout TIMEOUT", "Set watchdog timeout value") do |arg| opts.on("--watchdog-timeout TIMEOUT", "Set watchdog timeout value") do |arg|
@watchdog_timeout = arg.to_f @watchdog_timeout = arg.to_f
end # --watchdog-timeout end # --watchdog-timeout
@ -385,7 +391,7 @@ class LogStash::Agent
private private
def start_output(output) def start_output(output)
@logger.debug? and @logger.debug("Starting output", :plugin => output) @logger.debug? and @logger.debug("Starting output", :plugin => output)
queue = LogStash::SizedQueue.new(10 * @filterworker_count) queue = LogStash::SizedQueue.new(@queue_size * @filterworker_count)
queue.logger = @logger queue.logger = @logger
@output_queue.add_queue(queue) @output_queue.add_queue(queue)
@output_plugin_queues[output] = queue @output_plugin_queues[output] = queue
@ -425,7 +431,7 @@ class LogStash::Agent
end end
# NOTE(petef) we should have config params for queue size # NOTE(petef) we should have config params for queue size
@filter_queue = LogStash::SizedQueue.new(10 * @filterworker_count) @filter_queue = LogStash::SizedQueue.new(@queue_size * @filterworker_count)
@filter_queue.logger = @logger @filter_queue.logger = @logger
@output_queue = LogStash::MultiQueue.new @output_queue = LogStash::MultiQueue.new
@output_queue.logger = @logger @output_queue.logger = @logger