mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 06:37:19 -04:00
sleep on every N'th event
This commit is contained in:
parent
e213a53f3f
commit
83afe07707
1 changed files with 21 additions and 1 deletions
|
@ -26,6 +26,21 @@ class LogStash::Filters::Sleep < LogStash::Filters::Base
|
|||
# }
|
||||
config :time, :validate => :string
|
||||
|
||||
# Sleep on every N'th even where unslept_count=N, defaults to every event.
|
||||
# This option is ignored in replay mode.
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
# filter {
|
||||
# sleep {
|
||||
# # Sleep 1 second on every 10'th event.
|
||||
# time => "1"
|
||||
# count => 10
|
||||
# }
|
||||
# }
|
||||
config :unslept_count, :validate => :string, :default => 1
|
||||
|
||||
|
||||
# Enable replay mode.
|
||||
#
|
||||
# Replay mode tries to sleep based on timestamps in each event.
|
||||
|
@ -58,6 +73,7 @@ class LogStash::Filters::Sleep < LogStash::Filters::Base
|
|||
# Default time multiplier is 1 when replay is set.
|
||||
@time = 1
|
||||
end
|
||||
@events_unslept = 0
|
||||
end # def register
|
||||
|
||||
public
|
||||
|
@ -82,7 +98,11 @@ class LogStash::Filters::Sleep < LogStash::Filters::Base
|
|||
end
|
||||
@last_clock = clock
|
||||
else
|
||||
sleep(time)
|
||||
@events_unslept += 1
|
||||
if @events_unslept >= @unslept_count
|
||||
sleep(time)
|
||||
@events_unslept = 0
|
||||
end
|
||||
end
|
||||
filter_matched(event)
|
||||
end # def filter
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue