logstash-core 6.3.2-java → 6.4.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.
Files changed (139) hide show
  1. checksums.yaml +4 -4
  2. data/lib/logstash/agent.rb +10 -6
  3. data/lib/logstash/api/modules/logging.rb +4 -0
  4. data/lib/logstash/api/service.rb +0 -1
  5. data/lib/logstash/bootstrap_check/default_config.rb +0 -2
  6. data/lib/logstash/bootstrap_check/persisted_queue_config.rb +0 -1
  7. data/lib/logstash/codecs/base.rb +2 -4
  8. data/lib/logstash/compiler.rb +2 -3
  9. data/lib/logstash/compiler/lscl.rb +0 -1
  10. data/lib/logstash/config/config_ast.rb +0 -1
  11. data/lib/logstash/config/cpu_core_strategy.rb +0 -1
  12. data/lib/logstash/config/defaults.rb +0 -1
  13. data/lib/logstash/config/file.rb +0 -2
  14. data/lib/logstash/config/mixin.rb +4 -7
  15. data/lib/logstash/config/modules_common.rb +0 -2
  16. data/lib/logstash/config/source/local.rb +1 -3
  17. data/lib/logstash/config/source/modules.rb +0 -2
  18. data/lib/logstash/config/source/multi_local.rb +0 -1
  19. data/lib/logstash/config/source_loader.rb +1 -2
  20. data/lib/logstash/dependency_report.rb +19 -6
  21. data/lib/logstash/elasticsearch_client.rb +0 -2
  22. data/lib/logstash/environment.rb +3 -2
  23. data/lib/logstash/errors.rb +1 -15
  24. data/lib/logstash/event.rb +0 -1
  25. data/lib/logstash/event_dispatcher.rb +1 -40
  26. data/lib/logstash/execution_context.rb +2 -19
  27. data/lib/logstash/filters/base.rb +0 -2
  28. data/lib/logstash/inputs/base.rb +2 -4
  29. data/lib/logstash/inputs/threadable.rb +2 -3
  30. data/lib/logstash/instrument/collector.rb +0 -2
  31. data/lib/logstash/instrument/metric.rb +1 -105
  32. data/lib/logstash/instrument/namespaced_metric.rb +1 -58
  33. data/lib/logstash/instrument/namespaced_null_metric.rb +1 -58
  34. data/lib/logstash/instrument/null_metric.rb +2 -71
  35. data/lib/logstash/instrument/periodic_poller/base.rb +0 -1
  36. data/lib/logstash/instrument/periodic_poller/cgroup.rb +0 -1
  37. data/lib/logstash/java_pipeline.rb +33 -222
  38. data/lib/logstash/json.rb +0 -1
  39. data/lib/logstash/logging.rb +0 -2
  40. data/lib/logstash/logging/logger.rb +1 -159
  41. data/lib/logstash/modules/cli_parser.rb +0 -4
  42. data/lib/logstash/modules/elasticsearch_config.rb +0 -3
  43. data/lib/logstash/modules/elasticsearch_importer.rb +0 -3
  44. data/lib/logstash/modules/elasticsearch_resource.rb +0 -1
  45. data/lib/logstash/modules/file_reader.rb +0 -2
  46. data/lib/logstash/modules/kibana_base.rb +0 -1
  47. data/lib/logstash/modules/kibana_client.rb +0 -2
  48. data/lib/logstash/modules/kibana_config.rb +0 -3
  49. data/lib/logstash/modules/kibana_dashboards.rb +0 -2
  50. data/lib/logstash/modules/kibana_importer.rb +0 -3
  51. data/lib/logstash/modules/kibana_resource.rb +0 -1
  52. data/lib/logstash/modules/kibana_settings.rb +0 -2
  53. data/lib/logstash/modules/logstash_config.rb +0 -1
  54. data/lib/logstash/modules/resource_base.rb +0 -1
  55. data/lib/logstash/modules/scaffold.rb +0 -3
  56. data/lib/logstash/modules/settings_merger.rb +0 -2
  57. data/lib/logstash/namespace.rb +2 -15
  58. data/lib/logstash/outputs/base.rb +3 -5
  59. data/lib/logstash/patches/clamp.rb +6 -0
  60. data/lib/logstash/pipeline.rb +38 -180
  61. data/lib/logstash/pipeline_action/create.rb +0 -2
  62. data/lib/logstash/pipeline_action/reload.rb +1 -4
  63. data/lib/logstash/pipeline_action/stop.rb +0 -2
  64. data/lib/logstash/pipeline_reporter.rb +2 -108
  65. data/lib/logstash/plugin.rb +4 -7
  66. data/lib/logstash/plugins/hooks_registry.rb +1 -63
  67. data/lib/logstash/plugins/registry.rb +3 -2
  68. data/lib/logstash/runner.rb +6 -7
  69. data/lib/logstash/settings.rb +4 -5
  70. data/lib/logstash/shutdown_watcher.rb +0 -119
  71. data/lib/logstash/universal_plugin.rb +1 -13
  72. data/lib/logstash/util.rb +0 -1
  73. data/lib/logstash/util/buftok.rb +1 -139
  74. data/lib/logstash/util/byte_value.rb +2 -3
  75. data/lib/logstash/util/charset.rb +0 -1
  76. data/lib/logstash/util/cloud_setting_auth.rb +0 -1
  77. data/lib/logstash/util/cloud_setting_id.rb +20 -8
  78. data/lib/logstash/util/dead_letter_queue_manager.rb +2 -61
  79. data/lib/logstash/util/decorators.rb +0 -1
  80. data/lib/logstash/util/loggable.rb +1 -31
  81. data/lib/logstash/util/modules_setting_array.rb +2 -2
  82. data/lib/logstash/util/password.rb +0 -1
  83. data/lib/logstash/util/plugin_version.rb +0 -1
  84. data/lib/logstash/util/safe_uri.rb +7 -8
  85. data/lib/logstash/util/secretstore.rb +1 -38
  86. data/lib/logstash/util/substitution_variables.rb +4 -5
  87. data/lib/logstash/util/worker_threads_default_printer.rb +0 -1
  88. data/locales/en.yml +28 -1
  89. data/spec/logstash/config/mixin_spec.rb +4 -4
  90. data/spec/logstash/converge_result_spec.rb +0 -1
  91. data/spec/logstash/event_dispatcher_spec.rb +0 -2
  92. data/spec/logstash/event_spec.rb +22 -26
  93. data/spec/logstash/execution_context_spec.rb +0 -2
  94. data/spec/logstash/filter_delegator_spec.rb +12 -28
  95. data/spec/logstash/inputs/base_spec.rb +4 -5
  96. data/spec/logstash/instrument/metric_spec.rb +0 -1
  97. data/spec/logstash/instrument/namespaced_metric_spec.rb +0 -2
  98. data/spec/logstash/instrument/namespaced_null_metric_spec.rb +1 -3
  99. data/spec/logstash/instrument/null_metric_spec.rb +1 -4
  100. data/spec/logstash/instrument/periodic_poller/base_spec.rb +0 -1
  101. data/spec/logstash/instrument/periodic_poller/os_spec.rb +0 -1
  102. data/spec/logstash/instrument/wrapped_write_client_spec.rb +0 -1
  103. data/spec/logstash/java_filter_delegator_spec.rb +0 -3
  104. data/spec/logstash/java_integration_spec.rb +0 -1
  105. data/spec/logstash/java_pipeline_spec.rb +1 -4
  106. data/spec/logstash/modules/cli_parser_spec.rb +1 -3
  107. data/spec/logstash/modules/scaffold_spec.rb +0 -1
  108. data/spec/logstash/outputs/base_spec.rb +9 -10
  109. data/spec/logstash/pipeline_action/create_spec.rb +2 -3
  110. data/spec/logstash/pipeline_action/reload_spec.rb +1 -2
  111. data/spec/logstash/pipeline_action/stop_spec.rb +0 -1
  112. data/spec/logstash/pipeline_dlq_commit_spec.rb +0 -6
  113. data/spec/logstash/pipeline_reporter_spec.rb +18 -4
  114. data/spec/logstash/pipeline_spec.rb +2 -6
  115. data/spec/logstash/plugin_spec.rb +1 -2
  116. data/spec/logstash/plugins/hooks_registry_spec.rb +0 -2
  117. data/spec/logstash/queue_factory_spec.rb +0 -1
  118. data/spec/logstash/runner_spec.rb +16 -9
  119. data/spec/logstash/settings/modules_spec.rb +3 -3
  120. data/spec/logstash/shutdown_watcher_spec.rb +0 -27
  121. data/spec/logstash/state_resolver_spec.rb +0 -1
  122. data/spec/logstash/util/buftok_spec.rb +0 -1
  123. data/spec/logstash/util/cloud_setting_id_spec.rb +55 -2
  124. data/spec/logstash/util/secretstore_spec.rb +10 -10
  125. data/spec/logstash/util/wrapped_synchronous_queue_spec.rb +2 -2
  126. data/versions-gem-copy.yml +2 -2
  127. metadata +2 -16
  128. data/lib/logstash/bootstrap_check/bad_java.rb +0 -16
  129. data/lib/logstash/bootstrap_check/bad_ruby.rb +0 -12
  130. data/lib/logstash/converge_result.rb +0 -103
  131. data/lib/logstash/instrument/global_metrics.rb +0 -13
  132. data/lib/logstash/instrument/snapshot.rb +0 -15
  133. data/lib/logstash/java_integration.rb +0 -116
  134. data/lib/logstash/logging/json.rb +0 -21
  135. data/lib/logstash/plugins/plugin_factory.rb +0 -107
  136. data/lib/logstash/queue_factory.rb +0 -34
  137. data/lib/logstash/util/retryable.rb +0 -40
  138. data/spec/logstash/output_delegator_spec.rb +0 -201
  139. data/spec/logstash/timestamp_spec.rb +0 -45
@@ -1,38 +1 @@
1
- # encoding: utf-8
2
-
3
- # Ruby helper to work with the secret store
4
- module ::LogStash::Util::SecretStore
5
-
6
- java_import "org.logstash.secret.store.SecretStoreFactory"
7
- java_import "org.logstash.secret.SecretIdentifier"
8
- java_import "org.logstash.secret.store.SecureConfig"
9
- java_import "org.logstash.secret.cli.SecretStoreCli"
10
-
11
- SECRET_STORE_FACTORY = SecretStoreFactory::fromEnvironment()
12
-
13
- # Return the configuration necessary to work with a secret store
14
- def self.get_config
15
- secure_config = SecureConfig.new
16
- secure_config.add("keystore.file", LogStash::SETTINGS.get_setting("keystore.file").value.chars)
17
- pass = ENV["LOGSTASH_KEYSTORE_PASS"]
18
- secure_config.add("keystore.pass", pass.chars) unless pass.nil?
19
- secure_config.add("keystore.classname", LogStash::SETTINGS.get_setting("keystore.classname").value.chars)
20
- secure_config
21
- end
22
-
23
- # Check to see if the secret store exists, return true if exists, false otherwise
24
- def self.exists?
25
- SECRET_STORE_FACTORY.exists(get_config)
26
- end
27
-
28
- # Returns a org.logstash.secret.store.SecretStore if it exists, nil otherwise
29
- def self.get_if_exists
30
- SECRET_STORE_FACTORY.load(get_config) if exists?
31
- end
32
-
33
- # Returns a org.org.logstash.secret.SecretIdentifier for use with the secret store
34
- def self.get_store_id(id)
35
- SecretIdentifier.new(id)
36
- end
37
-
38
- end
1
+ # Keeping this file for backwards compatibility with plugins that include it directly.
@@ -1,7 +1,6 @@
1
1
  # encoding: utf-8
2
- require "logstash/logging"
3
- require "logstash/util/loggable"
4
- require "logstash/util/secretstore"
2
+
3
+ java_import "org.logstash.secret.store.SecretStoreExt"
5
4
 
6
5
  module ::LogStash::Util::SubstitutionVariables
7
6
 
@@ -43,8 +42,8 @@ module ::LogStash::Util::SubstitutionVariables
43
42
  logger.debug("Replacing `#{placeholder}` with actual value")
44
43
 
45
44
  #check the secret store if it exists
46
- secret_store = LogStash::Util::SecretStore.get_if_exists
47
- replacement = secret_store.nil? ? nil : secret_store.retrieveSecret(LogStash::Util::SecretStore.get_store_id(name))
45
+ secret_store = SecretStoreExt.getIfExists(LogStash::SETTINGS.get_setting("keystore.file").value, LogStash::SETTINGS.get_setting("keystore.classname").value)
46
+ replacement = secret_store.nil? ? nil : secret_store.retrieveSecret(SecretStoreExt.getStoreId(name))
48
47
  #check the environment
49
48
  replacement = ENV.fetch(name, default) if replacement.nil?
50
49
  if replacement.nil?
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/namespace"
3
2
  require "logstash/util"
4
3
 
5
4
  # This class exists to format the settings for default worker threads
data/locales/en.yml CHANGED
@@ -228,6 +228,33 @@ en:
228
228
  "%{default_output}"
229
229
  If you wish to use both defaults, please use
230
230
  the empty string for the '-e' flag.
231
+ field-reference-parser: |+
232
+ Use the given MODE when parsing field
233
+ references.
234
+
235
+ The field reference parser is used to expand
236
+ field references in your pipeline configs,
237
+ and will be becoming more strict to better
238
+ handle illegal and ambbiguous inputs in a
239
+ future release of Logstash.
240
+
241
+ Available MODEs are:
242
+ - `LEGACY`: parse with the legacy parser,
243
+ which is known to handle ambiguous- and
244
+ illegal-syntax in surprising ways;
245
+ warnings will not be emitted.
246
+ - `COMPAT`: warn once for each distinct
247
+ ambiguous- or illegal-syntax input, but
248
+ continue to expand field references with
249
+ the legacy parser.
250
+ - `STRICT`: parse in a strict manner; when
251
+ given ambiguous- or illegal-syntax input,
252
+ raises a runtime exception that should
253
+ be handled by the calling plugin.
254
+
255
+ The MODE can also be set with
256
+ `config.field_reference.parser`
257
+
231
258
  modules: |+
232
259
  Load Logstash modules.
233
260
  Modules can be defined using multiple instances
@@ -348,4 +375,4 @@ en:
348
375
  DEPRECATED: use --log.level=info instead.
349
376
  quiet: |+
350
377
  Set the log level to info.
351
- DEPRECATED: use --log.level=quiet instead.
378
+ DEPRECATED: use --log.level=info instead.
@@ -7,7 +7,7 @@ describe LogStash::Config::Mixin do
7
7
  let(:password) { "sekret" }
8
8
  let(:double_logger) { double("logger").as_null_object }
9
9
 
10
- subject do
10
+ subject do
11
11
  Class.new(LogStash::Filters::Base) do
12
12
  include LogStash::Config::Mixin
13
13
  config_name "test_deprecated"
@@ -151,7 +151,7 @@ describe LogStash::Config::Mixin do
151
151
 
152
152
  it "should raise a configuration error" do
153
153
  expect { subject.required_strings }.to raise_error(LogStash::ConfigurationError)
154
- end
154
+ end
155
155
  end
156
156
 
157
157
  context "with no value specified" do
@@ -160,7 +160,7 @@ describe LogStash::Config::Mixin do
160
160
  it "should raise a configuration error" do
161
161
  expect { subject.required_strings }.to raise_error(LogStash::ConfigurationError)
162
162
  end
163
- end
163
+ end
164
164
  end
165
165
  end
166
166
 
@@ -208,7 +208,7 @@ describe LogStash::Config::Mixin do
208
208
 
209
209
  shared_examples("safe URI") do |options|
210
210
  options ||= {}
211
-
211
+
212
212
  subject { klass.new("uri" => uri_str) }
213
213
 
214
214
  it "should be a SafeURI object" do
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/converge_result"
3
2
  require "logstash/pipeline_action/stop"
4
3
  require "spec_helper"
5
4
 
@@ -1,7 +1,5 @@
1
1
  # encoding: utf-8
2
2
  #
3
- require "logstash/event_dispatcher"
4
-
5
3
  describe LogStash::EventDispatcher do
6
4
  class DummyEmitter
7
5
  attr_reader :dispatcher
@@ -76,6 +76,17 @@ describe LogStash::Event do
76
76
  expect(e.get("[foo][-1]")).to eq(list[-1])
77
77
  end
78
78
  end
79
+
80
+ context 'with illegal-syntax field reference' do
81
+ # NOTE: in true-legacy-mode FieldReference parsing, the input `[` caused Logstash
82
+ # to crash entirely with a Java ArrayIndexOutOfBounds exception; this spec ensures that
83
+ # we instead raise a RuntimeException that can be handled normally within the
84
+ # Ruby runtime.
85
+ it 'raises a RuntimeError' do
86
+ e = LogStash::Event.new
87
+ expect { e.get('[') }.to raise_exception(::RuntimeError)
88
+ end
89
+ end
79
90
  end
80
91
 
81
92
  context "#set" do
@@ -145,32 +156,6 @@ describe LogStash::Event do
145
156
  expect(e.get("foo").to_f).to be_within(0.1).of(time.to_f)
146
157
  end
147
158
 
148
- it "should set XXJavaProxy Jackson crafted" do
149
- proxy = org.logstash.RspecTestUtils.getMapFixtureJackson()
150
- # proxy is {"string": "foo", "int": 42, "float": 42.42, "array": ["bar","baz"], "hash": {"string":"quux"} }
151
- e = LogStash::Event.new()
152
- e.set("[proxy]", proxy)
153
- expect(e.get("[proxy][string]")).to eql("foo")
154
- expect(e.get("[proxy][int]")).to eql(42)
155
- expect(e.get("[proxy][float]")).to eql(42.42)
156
- expect(e.get("[proxy][array][0]")).to eql("bar")
157
- expect(e.get("[proxy][array][1]")).to eql("baz")
158
- expect(e.get("[proxy][hash][string]")).to eql("quux")
159
- end
160
-
161
- it "should set XXJavaProxy hand crafted" do
162
- proxy = org.logstash.RspecTestUtils.getMapFixtureHandcrafted()
163
- # proxy is {"string": "foo", "int": 42, "float": 42.42, "array": ["bar","baz"], "hash": {"string":"quux"} }
164
- e = LogStash::Event.new()
165
- e.set("[proxy]", proxy)
166
- expect(e.get("[proxy][string]")).to eql("foo")
167
- expect(e.get("[proxy][int]")).to eql(42)
168
- expect(e.get("[proxy][float]")).to eql(42.42)
169
- expect(e.get("[proxy][array][0]")).to eql("bar")
170
- expect(e.get("[proxy][array][1]")).to eql("baz")
171
- expect(e.get("[proxy][hash][string]")).to eql("quux")
172
- end
173
-
174
159
  it "should fail on non UTF-8 encoding" do
175
160
  # e = LogStash::Event.new
176
161
  # s1 = "\xE0 Montr\xE9al".force_encoding("ISO-8859-1")
@@ -181,6 +166,17 @@ describe LogStash::Event do
181
166
  # expect(s2.encoding.name).to eq("UTF-8")
182
167
  # expect(s2.valid_encoding?).to eq(true)
183
168
  end
169
+
170
+ context 'with illegal-syntax field reference' do
171
+ # NOTE: in true-legacy-mode FieldReference parsing, the input `[` caused Logstash
172
+ # to crash entirely with a Java ArrayIndexOutOfBounds exception; this spec ensures that
173
+ # we instead raise a RuntimeException that can be handled normally within the
174
+ # Ruby runtime.
175
+ it 'raises a RuntimeError' do
176
+ e = LogStash::Event.new
177
+ expect { e.set('[', 'value') }.to raise_exception(::RuntimeError)
178
+ end
179
+ end
184
180
  end
185
181
 
186
182
  context "timestamp" do
@@ -1,7 +1,5 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
- require "logstash/util/dead_letter_queue_manager"
4
- require "logstash/execution_context"
5
3
 
6
4
  describe LogStash::ExecutionContext do
7
5
  let(:pipeline) { double("pipeline") }
@@ -1,37 +1,24 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
+ require 'logstash/instrument/collector'
3
4
  require "logstash/filter_delegator"
4
- require "logstash/instrument/null_metric"
5
5
  require "logstash/event"
6
- require "logstash/execution_context"
7
6
  require "support/shared_contexts"
8
7
 
9
8
  describe LogStash::FilterDelegator do
10
9
 
11
- class MockGauge
12
- def increment(_)
13
- end
14
- end
15
-
16
10
  include_context "execution_context"
17
11
 
18
12
  let(:filter_id) { "my-filter" }
19
13
  let(:config) do
20
14
  { "host" => "127.0.0.1", "id" => filter_id }
21
15
  end
22
- let(:collector) { [] }
23
- let(:counter_in) { MockGauge.new }
24
- let(:counter_out) { MockGauge.new }
25
- let(:counter_time) { MockGauge.new }
26
- let(:metric) { LogStash::Instrument::NamespacedNullMetric.new(collector, :null) }
16
+ let(:collector) {LogStash::Instrument::Collector.new}
17
+ let(:metric) { LogStash::Instrument::Metric.new(collector).namespace(:null) }
27
18
  let(:events) { [LogStash::Event.new, LogStash::Event.new] }
28
19
 
29
20
  before :each do
30
21
  allow(pipeline).to receive(:id).and_return(pipeline_id)
31
- allow(metric).to receive(:namespace).with(anything).and_return(metric)
32
- allow(metric).to receive(:counter).with(:in).and_return(counter_in)
33
- allow(metric).to receive(:counter).with(:out).and_return(counter_out)
34
- allow(metric).to receive(:counter).with(:duration_in_millis).and_return(counter_time)
35
22
  end
36
23
 
37
24
  let(:plugin_klass) do
@@ -70,8 +57,8 @@ describe LogStash::FilterDelegator do
70
57
  context "when the flush return events" do
71
58
  it "increments the out" do
72
59
  subject.multi_filter([LogStash::Event.new])
73
- expect(counter_out).to receive(:increment).with(1)
74
60
  subject.flush({})
61
+ expect(collector.snapshot_metric.metric_store.get_with_path("/null")[:null]["my-filter".to_sym][:events][:out].value).to eq(1)
75
62
  end
76
63
  end
77
64
 
@@ -83,18 +70,15 @@ describe LogStash::FilterDelegator do
83
70
  end
84
71
 
85
72
  context "when the filter buffer events" do
86
- before do
87
- allow(metric).to receive(:increment).with(anything, anything)
88
- end
89
73
 
90
74
  it "has incremented :in" do
91
- expect(counter_in).to receive(:increment).with(events.size)
92
75
  subject.multi_filter(events)
76
+ expect(collector.snapshot_metric.metric_store.get_with_path("/null")[:null]["my-filter".to_sym][:events][:in].value).to eq(events.size)
93
77
  end
94
78
 
95
79
  it "has not incremented :out" do
96
- expect(counter_out).not_to receive(:increment).with(anything)
97
80
  subject.multi_filter(events)
81
+ expect(collector.snapshot_metric.metric_store.get_with_path("/null")[:null]["my-filter".to_sym][:events][:out].value).to eq(0)
98
82
  end
99
83
  end
100
84
 
@@ -119,10 +103,10 @@ describe LogStash::FilterDelegator do
119
103
  end
120
104
 
121
105
  it "increments the in/out of the metric" do
122
- expect(counter_in).to receive(:increment).with(events.size)
123
- expect(counter_out).to receive(:increment).with(events.size * 2)
124
-
125
106
  subject.multi_filter(events)
107
+ event_metrics = collector.snapshot_metric.metric_store.get_with_path("/null")[:null]["my-filter".to_sym][:events]
108
+ expect(event_metrics[:in].value).to eq(events.size)
109
+ expect(event_metrics[:out].value).to eq(2 * events.size)
126
110
  end
127
111
  end
128
112
  end
@@ -148,10 +132,10 @@ describe LogStash::FilterDelegator do
148
132
  end
149
133
 
150
134
  it "increments the in/out of the metric" do
151
- expect(counter_in).to receive(:increment).with(events.size)
152
- expect(counter_out).to receive(:increment).with(events.size)
153
-
154
135
  subject.multi_filter(events)
136
+ event_metrics = collector.snapshot_metric.metric_store.get_with_path("/null")[:null]["my-filter".to_sym][:events]
137
+ expect(event_metrics[:in].value).to eq(events.size)
138
+ expect(event_metrics[:out].value).to eq(events.size)
155
139
  end
156
140
  end
157
141
 
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
- require "logstash/execution_context"
4
3
  require "logstash/inputs/base"
5
4
  require "support/shared_contexts"
6
5
 
@@ -90,15 +89,15 @@ describe "LogStash::Inputs::Base#decorate" do
90
89
  let(:input) do
91
90
  LogStash::Inputs::NOOP.new("add_field" => {"field" => ["value1", "value2"], "field2" => "value"})
92
91
  end
93
-
92
+
94
93
  let(:cloned) do
95
94
  input.clone
96
95
  end
97
-
96
+
98
97
  it "should clone the codec when cloned" do
99
98
  expect(input.codec).not_to eq(cloned.codec)
100
- end
101
-
99
+ end
100
+
102
101
  it "should preserve codec params" do
103
102
  expect(input.codec.params).to eq(cloned.codec.params)
104
103
  end
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/instrument/metric"
3
2
  require "logstash/instrument/collector"
4
3
  require_relative "../../support/matchers"
5
4
  require "spec_helper"
@@ -1,6 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/instrument/namespaced_metric"
3
- require "logstash/instrument/metric"
4
2
  require_relative "../../support/matchers"
5
3
  require_relative "../../support/shared_examples"
6
4
  require "spec_helper"
@@ -1,6 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/instrument/namespaced_null_metric"
3
- require "logstash/instrument/null_metric"
4
2
  require_relative "../../support/matchers"
5
3
  require "spec_helper"
6
4
 
@@ -16,7 +14,7 @@ describe LogStash::Instrument::NamespacedNullMetric do
16
14
  end
17
15
 
18
16
  it "returns a TimedException when we call without a block" do
19
- expect(subject.time(:duration_ms)).to be(LogStash::Instrument::NullMetric::NullTimedExecution)
17
+ expect(subject.time(:duration_ms)).to be_kind_of(LogStash::Instrument::NullMetric::NullTimedExecution)
20
18
  end
21
19
 
22
20
  it "returns the value of the block" do
@@ -1,6 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/instrument/null_metric"
3
- require "logstash/instrument/namespaced_metric"
4
2
  require_relative "../../support/shared_examples"
5
3
  require_relative "../../support/matchers"
6
4
  require "spec_helper"
@@ -8,8 +6,7 @@ require "spec_helper"
8
6
  describe LogStash::Instrument::NullMetric do
9
7
 
10
8
  let(:key) { "test" }
11
- let(:collector) { [] }
12
- subject { LogStash::Instrument::NullMetric.new(collector) }
9
+ subject { LogStash::Instrument::NullMetric.new(nil) }
13
10
 
14
11
  it "defines the same interface as `Metric`" do
15
12
  expect(described_class).to implement_interface_of(LogStash::Instrument::Metric)
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  require "logstash/instrument/periodic_poller/base"
3
- require "logstash/instrument/metric"
4
3
  require "logstash/instrument/collector"
5
4
 
6
5
  describe LogStash::Instrument::PeriodicPoller::Base do
@@ -1,6 +1,5 @@
1
1
  # encoding: utf-8
2
2
  require "logstash/instrument/periodic_poller/os"
3
- require "logstash/instrument/metric"
4
3
  require "logstash/instrument/collector"
5
4
 
6
5
  describe LogStash::Instrument::PeriodicPoller::Os do
@@ -1,5 +1,4 @@
1
1
  # encoding: utf-8
2
- require "logstash/instrument/metric"
3
2
  require "logstash/event"
4
3
  require_relative "../../support/mocks_classes"
5
4
  require "spec_helper"
@@ -1,9 +1,7 @@
1
1
  # encoding: utf-8
2
2
  require "spec_helper"
3
3
  require "logstash/filter_delegator"
4
- require "logstash/instrument/null_metric"
5
4
  require "logstash/event"
6
- require "logstash/execution_context"
7
5
  require "support/shared_contexts"
8
6
 
9
7
  java_import org.logstash.RubyUtil
@@ -21,7 +19,6 @@ describe LogStash::JavaFilterDelegator do
21
19
  let(:config) do
22
20
  { "host" => "127.0.0.1", "id" => filter_id }
23
21
  end
24
- let(:collector) { [] }
25
22
  let(:metric) {
26
23
  LogStash::Instrument::NamespacedMetric.new(
27
24
  LogStash::Instrument::Metric.new(LogStash::Instrument::Collector.new), [:filter]