logstash-devutils 2.0.0-java → 2.1.0-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -0
- data/Gemfile +1 -0
- data/lib/logstash/devutils/rspec/logstash_helpers.rb +10 -6
- data/lib/logstash/devutils/rspec/spec_helper.rb +1 -1
- data/lib/logstash/outputs/test_sink.rb +21 -3
- data/lib/logstash/test_pipeline.rb +7 -1
- data/logstash-devutils.gemspec +2 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 337f5f3afb2fb0f3cdadd3638a51544ae9ef9341d1e0b85c2e04e73d57444b95
|
4
|
+
data.tar.gz: e22d45719fec1178d3b8ddf37f74143079f966284d20bd0e62bebb3705ee57ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca692d8bf918ed22d32a931807fd1c3b1d6803f6ef651c68d450fdcf60740fe171ab1c7e217b4fb53c79d4090f9de45232afd1459529b3f08d96452236b5ef04
|
7
|
+
data.tar.gz: 63db7429bda9155d9dc8ccb50aa8b94550ce11c642b4af926277ebaaf7a30fdbfdbb59bddfa4671edb680acfa8f289cd3c1febfa1d194598aa1c180cdadfc55d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,19 @@
|
|
1
|
+
## 2.1.0
|
2
|
+
- Remove ruby pipeline dependency
|
3
|
+
|
4
|
+
## 2.0.4
|
5
|
+
- Fix: avoid double registering filters on `sample` spec helper
|
6
|
+
|
7
|
+
## 2.0.3
|
8
|
+
- Fix: add missing `events` method to QueuedBatchDelegator, which was causing test failures
|
9
|
+
after https://github.com/elastic/logstash/pull/11737 was committed.
|
10
|
+
|
11
|
+
## 2.0.2
|
12
|
+
- Fix: add plain codec as runtime dependency for TestPipeline helper
|
13
|
+
|
14
|
+
## 2.0.1
|
15
|
+
- Fix: unwrap output and refactor test sink (#82)
|
16
|
+
|
1
17
|
## 2.0.0
|
2
18
|
- Reinvented helpers using Java pipeline, only LS >= 6.x (JRuby >= 9.1) is supported.
|
3
19
|
- [BREAKING] changes:
|
data/Gemfile
CHANGED
@@ -67,8 +67,7 @@ module LogStashHelper
|
|
67
67
|
end
|
68
68
|
|
69
69
|
let(:results) do
|
70
|
-
pipeline.filters
|
71
|
-
|
70
|
+
# Java pipeline (since 6.1) registers filters from start_workers
|
72
71
|
pipeline.run_with(event)
|
73
72
|
|
74
73
|
# flush makes sure to empty any buffered events in the filter
|
@@ -88,16 +87,21 @@ module LogStashHelper
|
|
88
87
|
end
|
89
88
|
end # def sample
|
90
89
|
|
90
|
+
org.logstash.config.ir.compiler.OutputStrategyExt::SimpleAbstractOutputStrategyExt.class_eval do
|
91
|
+
field_reader :output # available since LS 6.3
|
92
|
+
end
|
93
|
+
|
91
94
|
def input(config_string, test_sink: {}, &block); require 'logstash/outputs/test_sink'
|
92
95
|
config_parts = [ config_source(config_string), test_sink_output_source(**test_sink) ]
|
93
96
|
|
94
|
-
# TODO unwrapping output from LogStash::OutputDelegator is cumbersome
|
95
|
-
instances = LogStash::Outputs::TestSink::TRACKER.keys.to_a
|
96
97
|
pipeline = new_pipeline(config_parts)
|
97
98
|
|
98
|
-
|
99
|
+
output_delegator = pipeline.outputs.last # LogStash::OutputDelegator
|
100
|
+
fail('test_sink output expected') unless output_delegator.config_name.eql?('test_sink')
|
101
|
+
test_sink_output = output_delegator.strategy.to_java.output
|
102
|
+
queue = test_sink_output.init_event_store
|
99
103
|
|
100
|
-
|
104
|
+
start_thread = pipeline.start_and_wait
|
101
105
|
|
102
106
|
# NOTE: we used to pass a Queue here, now its a Java List/Queue collection
|
103
107
|
result = block.call(pipeline, queue)
|
@@ -29,7 +29,7 @@ if RUBY_VERSION < "2.3"
|
|
29
29
|
raise LoadError.new("Ruby >= 2.3.0 or later is required. (You are running: " + RUBY_VERSION + ")")
|
30
30
|
end
|
31
31
|
|
32
|
-
if level = (ENV[
|
32
|
+
if level = (ENV['LOG_LEVEL'] || ENV['LOGGER_LEVEL'] || ENV["TEST_DEBUG"])
|
33
33
|
logger, level = level.split('=') # 'logstash.filters.grok=DEBUG'
|
34
34
|
level, logger = logger, nil if level.nil? # only level given e.g. 'DEBUG'
|
35
35
|
level = org.apache.logging.log4j.Level.toLevel(level, org.apache.logging.log4j.Level::WARN)
|
@@ -22,7 +22,7 @@ class LogStash::Outputs::TestSink < LogStash::Outputs::Base
|
|
22
22
|
|
23
23
|
# @override plugin hook
|
24
24
|
def register
|
25
|
-
TRACKER[self] =
|
25
|
+
TRACKER[self] = @_event_store || init_event_store
|
26
26
|
end
|
27
27
|
|
28
28
|
# @override plugin impl
|
@@ -32,7 +32,8 @@ class LogStash::Outputs::TestSink < LogStash::Outputs::Base
|
|
32
32
|
|
33
33
|
# @override plugin hook
|
34
34
|
def close
|
35
|
-
TRACKER.delete(self)
|
35
|
+
TRACKER.delete(self)
|
36
|
+
@_event_store = false if release_on_close?
|
36
37
|
end
|
37
38
|
|
38
39
|
def store_events?
|
@@ -50,7 +51,24 @@ class LogStash::Outputs::TestSink < LogStash::Outputs::Base
|
|
50
51
|
|
51
52
|
# @return [Queue] (enumerable) event store
|
52
53
|
def event_store
|
53
|
-
|
54
|
+
if @_event_store.nil?
|
55
|
+
warn("#{self} event store not initialized (call plugin.register to initialize)", caller_locations(2))
|
56
|
+
return init_event_store
|
57
|
+
elsif @_event_store.eql?(false)
|
58
|
+
warn("#{self} closed - event store no longer available (release_on_close => false if you need to retain events)", caller_locations(2))
|
59
|
+
return nil
|
60
|
+
end
|
61
|
+
@_event_store
|
62
|
+
end
|
63
|
+
|
64
|
+
def init_event_store
|
65
|
+
@_event_store = Queue.new(@event_poll_timeout.to_f * 1000)
|
66
|
+
end
|
67
|
+
|
68
|
+
private
|
69
|
+
|
70
|
+
def warn(msg, callstack = nil)
|
71
|
+
Kernel.warn("#{msg}#{callstack ? " called from #{callstack.first}" : nil}")
|
54
72
|
end
|
55
73
|
|
56
74
|
# TODO refactor to java.util.concurrent.ConcurrentLinkedQueue
|
@@ -1,4 +1,3 @@
|
|
1
|
-
require "logstash/pipeline"
|
2
1
|
require "logstash/java_pipeline"
|
3
2
|
|
4
3
|
module LogStash
|
@@ -151,6 +150,13 @@ module LogStash
|
|
151
150
|
@delegate.to_java.filtered_size
|
152
151
|
end
|
153
152
|
|
153
|
+
def events
|
154
|
+
@delegate.events.tap do |events|
|
155
|
+
# filters out rogue (cancelled) events
|
156
|
+
@event_tracker.filtered_events events
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
154
160
|
# @override void merge(IRubyObject event);
|
155
161
|
def merge(event)
|
156
162
|
@delegate.merge(event)
|
data/logstash-devutils.gemspec
CHANGED
@@ -4,7 +4,7 @@ Gem::Specification.new do |spec|
|
|
4
4
|
files = %x{git ls-files}.split("\n")
|
5
5
|
|
6
6
|
spec.name = "logstash-devutils"
|
7
|
-
spec.version = "2.
|
7
|
+
spec.version = "2.1.0"
|
8
8
|
spec.license = "Apache-2.0"
|
9
9
|
spec.authors = ["Elastic"]
|
10
10
|
spec.email = "info@elastic.co"
|
@@ -45,4 +45,5 @@ Gem::Specification.new do |spec|
|
|
45
45
|
spec.add_runtime_dependency "kramdown", '1.14.0'
|
46
46
|
spec.add_runtime_dependency "stud", " >= 0.0.20"
|
47
47
|
spec.add_runtime_dependency "fivemat"
|
48
|
+
spec.add_runtime_dependency "logstash-codec-plain"
|
48
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-devutils
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - ">="
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '0'
|
145
|
+
name: logstash-codec-plain
|
146
|
+
prerelease: false
|
147
|
+
type: :runtime
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
139
153
|
description: logstash-devutils gem is meant to be used as a development dependency
|
140
154
|
from other plugins/gems.
|
141
155
|
email: info@elastic.co
|