logstash-core 5.0.0.pre.beta1-java → 5.0.0.pre.rc1-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.
Potentially problematic release.
This version of logstash-core might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/lib/jars.rb +1 -1
- data/lib/logstash-core/version.rb +1 -1
- data/lib/logstash/instrument/metric_store.rb +4 -0
- data/lib/logstash/runner.rb +12 -4
- data/lib/logstash/util/wrapped_synchronous_queue.rb +11 -4
- data/lib/logstash/version.rb +1 -1
- data/logstash-core.gemspec +1 -1
- data/spec/logstash/instrument/metric_store_spec.rb +6 -0
- data/spec/logstash/util/wrapped_synchronous_queue_spec.rb +41 -4
- data/vendor/jars/org/logstash/logstash-core/{5.0.0-beta1/logstash-core-5.0.0-beta1.jar → 5.0.0-rc1/logstash-core-5.0.0-rc1.jar} +0 -0
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: baef1eb320ed6e41540de4f69bc3cedbbd57cf5f
|
4
|
+
data.tar.gz: 0386098cd8179ccdda67435e30dac956c65385e2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f330b13ca8673330ce1cccc4a1dbbf36e02f4b61ff8f300fe55b26b101738e1ee8f7b9ae3a580acc2fa1e17db2fda2bb99172859ccd52e42558b5285ecb6bced
|
7
|
+
data.tar.gz: a884dc890d1fc02c4af8893971498cb6eb9ed5481f9766791a4e8361356953c617cf8322565ee9a3203ddc99892ca4131cc24b0acb12f2e826bd1e2afc68c995
|
data/lib/jars.rb
CHANGED
@@ -4,4 +4,4 @@ require_jar('org.apache.logging.log4j', 'log4j-api', '2.6.2')
|
|
4
4
|
require_jar('org.apache.logging.log4j', 'log4j-core', '2.6.2')
|
5
5
|
require_jar('com.fasterxml.jackson.core', 'jackson-core', '2.7.4')
|
6
6
|
require_jar('com.fasterxml.jackson.core', 'jackson-databind', '2.7.4')
|
7
|
-
require_jar('org.logstash', 'logstash-core', '5.0.0-
|
7
|
+
require_jar('org.logstash', 'logstash-core', '5.0.0-rc1')
|
data/lib/logstash/runner.rb
CHANGED
@@ -165,7 +165,7 @@ class LogStash::Runner < Clamp::StrictCommand
|
|
165
165
|
rescue => e
|
166
166
|
# abort unless we're just looking for the help
|
167
167
|
if (["--help", "-h"] & args).empty?
|
168
|
-
$stderr.puts "INFO: Logstash
|
168
|
+
$stderr.puts "INFO: Logstash requires a setting file which is typically located in $LS_HOME/config or /etc/logstash. If you installed Logstash through a package and are starting it manually please specify the location to this settings file by passing in \"--path.settings=/path/..\""
|
169
169
|
$stderr.puts "ERROR: Failed to load settings file from \"path.settings\". Aborting... path.setting=#{LogStash::SETTINGS.get("path.settings")}, exception=#{e.class}, message=>#{e.message}"
|
170
170
|
return 1
|
171
171
|
end
|
@@ -190,6 +190,12 @@ class LogStash::Runner < Clamp::StrictCommand
|
|
190
190
|
end
|
191
191
|
# override log level that may have been introduced from a custom log4j config file
|
192
192
|
LogStash::Logging::Logger::configure_logging(setting("log.level"))
|
193
|
+
|
194
|
+
# Adding this here because a ton of LS users install LS via packages and try to manually
|
195
|
+
# start Logstash using bin/logstash. See #5986. I think not logging to console is good for
|
196
|
+
# services, but until LS users re-learn that logs end up in path.logs, we should keep this
|
197
|
+
# message. Otherwise we'll be answering the same question again and again.
|
198
|
+
puts "Sending Logstash logs to #{setting("path.logs")} which is now configured via log4j2.properties."
|
193
199
|
|
194
200
|
if setting("config.debug") && logger.debug?
|
195
201
|
logger.warn("--config.debug was specified, but log.level was not set to \'debug\'! No config info will be logged.")
|
@@ -198,14 +204,14 @@ class LogStash::Runner < Clamp::StrictCommand
|
|
198
204
|
LogStash::Util::set_thread_name(self.class.name)
|
199
205
|
|
200
206
|
if RUBY_VERSION < "1.9.2"
|
201
|
-
|
207
|
+
logger.fatal "Ruby 1.9.2 or later is required. (You are running: " + RUBY_VERSION + ")"
|
202
208
|
return 1
|
203
209
|
end
|
204
210
|
|
205
211
|
# Exit on bad java versions
|
206
212
|
java_version = LogStash::Util::JavaVersion.version
|
207
213
|
if LogStash::Util::JavaVersion.bad_java_version?(java_version)
|
208
|
-
|
214
|
+
logger.fatal "Java version 1.8.0 or later is required. (You are running: #{java_version})"
|
209
215
|
return 1
|
210
216
|
end
|
211
217
|
|
@@ -237,6 +243,7 @@ class LogStash::Runner < Clamp::StrictCommand
|
|
237
243
|
begin
|
238
244
|
LogStash::Pipeline.new(config_str)
|
239
245
|
puts "Configuration OK"
|
246
|
+
logger.info "Using config.test_and_exit mode. Config Validation Result: OK. Exiting Logstash"
|
240
247
|
return 0
|
241
248
|
rescue => e
|
242
249
|
logger.fatal I18n.t("logstash.runner.invalid-configuration", :error => e.message)
|
@@ -256,7 +263,8 @@ class LogStash::Runner < Clamp::StrictCommand
|
|
256
263
|
@agent_task = Stud::Task.new { @agent.execute }
|
257
264
|
|
258
265
|
# no point in enabling config reloading before the agent starts
|
259
|
-
|
266
|
+
# also windows doesn't have SIGHUP. we can skip it
|
267
|
+
sighup_id = LogStash::Environment.windows? ? nil : trap_sighup()
|
260
268
|
|
261
269
|
agent_return = @agent_task.wait
|
262
270
|
|
@@ -90,9 +90,14 @@ module LogStash; module Util
|
|
90
90
|
def take_batch
|
91
91
|
@mutex.synchronize do
|
92
92
|
batch = ReadBatch.new(@queue, @batch_size, @wait_for)
|
93
|
-
add_starting_metrics(batch)
|
94
93
|
set_current_thread_inflight_batch(batch)
|
95
|
-
|
94
|
+
|
95
|
+
# We dont actually have any events to work on so lets
|
96
|
+
# not bother with recording metrics for them
|
97
|
+
if batch.size > 0
|
98
|
+
add_starting_metrics(batch)
|
99
|
+
start_clock
|
100
|
+
end
|
96
101
|
batch
|
97
102
|
end
|
98
103
|
end
|
@@ -116,8 +121,10 @@ module LogStash; module Util
|
|
116
121
|
end
|
117
122
|
|
118
123
|
def stop_clock
|
119
|
-
@inflight_clocks[Thread.current].
|
120
|
-
|
124
|
+
unless @inflight_clocks[Thread.current].nil?
|
125
|
+
@inflight_clocks[Thread.current].each(&:stop)
|
126
|
+
@inflight_clocks.delete(Thread.current)
|
127
|
+
end
|
121
128
|
end
|
122
129
|
|
123
130
|
def add_starting_metrics(batch)
|
data/lib/logstash/version.rb
CHANGED
data/logstash-core.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
|
|
17
17
|
gem.require_paths = ["lib", "vendor/jars"]
|
18
18
|
gem.version = LOGSTASH_CORE_VERSION
|
19
19
|
|
20
|
-
gem.add_runtime_dependency "logstash-core-event-java", "5.0.0-
|
20
|
+
gem.add_runtime_dependency "logstash-core-event-java", "5.0.0-rc1"
|
21
21
|
|
22
22
|
gem.add_runtime_dependency "pry", "~> 0.10.1" #(Ruby license)
|
23
23
|
gem.add_runtime_dependency "stud", "~> 0.0.19" #(Apache 2.0 license)
|
@@ -203,6 +203,12 @@ describe LogStash::Instrument::MetricStore do
|
|
203
203
|
end
|
204
204
|
end
|
205
205
|
|
206
|
+
describe "#size" do
|
207
|
+
it "returns the number of unique metrics" do
|
208
|
+
expect(subject.size).to eq(metric_events.size)
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
206
212
|
describe "#each" do
|
207
213
|
it "retrieves all the metric" do
|
208
214
|
expect(subject.each.size).to eq(metric_events.size)
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require "spec_helper"
|
3
3
|
require "logstash/util/wrapped_synchronous_queue"
|
4
|
+
require "logstash/instrument/collector"
|
4
5
|
|
5
6
|
describe LogStash::Util::WrappedSynchronousQueue do
|
6
7
|
context "#offer" do
|
@@ -45,11 +46,47 @@ describe LogStash::Util::WrappedSynchronousQueue do
|
|
45
46
|
end
|
46
47
|
|
47
48
|
describe "WriteClient | ReadClient" do
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
let(:queue) { DummyQueue.new }
|
50
|
+
let(:write_client) { LogStash::Util::WrappedSynchronousQueue::WriteClient.new(queue)}
|
51
|
+
let(:read_client) { LogStash::Util::WrappedSynchronousQueue::ReadClient.new(queue)}
|
52
|
+
|
53
|
+
context "when reading from the queue" do
|
54
|
+
let(:collector) { LogStash::Instrument::Collector.new }
|
55
|
+
|
56
|
+
before do
|
57
|
+
read_client.set_events_metric(LogStash::Instrument::Metric.new(collector).namespace(:events))
|
58
|
+
read_client.set_pipeline_metric(LogStash::Instrument::Metric.new(collector).namespace(:pipeline))
|
59
|
+
end
|
60
|
+
|
61
|
+
context "when the queue is empty" do
|
62
|
+
it "doesnt record the `duration_in_millis`" do
|
63
|
+
batch = read_client.take_batch
|
64
|
+
read_client.close_batch(batch)
|
65
|
+
store = collector.snapshot_metric.metric_store
|
66
|
+
expect(store.size).to eq(0)
|
67
|
+
end
|
68
|
+
end
|
52
69
|
|
70
|
+
context "when we have item in the queue" do
|
71
|
+
it "records the `duration_in_millis`" do
|
72
|
+
batch = write_client.get_new_batch
|
73
|
+
5.times {|i| batch.push("value-#{i}")}
|
74
|
+
write_client.push_batch(batch)
|
75
|
+
read_batch = read_client.take_batch
|
76
|
+
sleep(0.1) # simulate some work?
|
77
|
+
read_client.close_batch(batch)
|
78
|
+
store = collector.snapshot_metric.metric_store
|
79
|
+
|
80
|
+
expect(store.size).to eq(4)
|
81
|
+
expect(store.get_shallow(:events, :in).value).to eq(5)
|
82
|
+
expect(store.get_shallow(:events, :duration_in_millis).value).to be > 0
|
83
|
+
expect(store.get_shallow(:pipeline, :in).value).to eq(5)
|
84
|
+
expect(store.get_shallow(:pipeline, :duration_in_millis).value).to be > 0
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
context "when writing to the queue" do
|
53
90
|
before :each do
|
54
91
|
read_client.set_events_metric(LogStash::Instrument::NullMetric.new)
|
55
92
|
read_client.set_pipeline_metric(LogStash::Instrument::NullMetric.new)
|
Binary file
|
metadata
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: logstash-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.0.0.pre.
|
4
|
+
version: 5.0.0.pre.rc1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Elastic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-10-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
requirement: !ruby/object:Gem::Requirement
|
15
15
|
requirements:
|
16
16
|
- - '='
|
17
17
|
- !ruby/object:Gem::Version
|
18
|
-
version: 5.0.0.pre.
|
18
|
+
version: 5.0.0.pre.rc1
|
19
19
|
name: logstash-core-event-java
|
20
20
|
prerelease: false
|
21
21
|
type: :runtime
|
@@ -23,7 +23,7 @@ dependencies:
|
|
23
23
|
requirements:
|
24
24
|
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 5.0.0.pre.
|
26
|
+
version: 5.0.0.pre.rc1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
@@ -464,7 +464,7 @@ files:
|
|
464
464
|
- vendor/jars/org/apache/logging/log4j/log4j-1.2-api/2.6.2/log4j-1.2-api-2.6.2.jar
|
465
465
|
- vendor/jars/org/apache/logging/log4j/log4j-api/2.6.2/log4j-api-2.6.2.jar
|
466
466
|
- vendor/jars/org/apache/logging/log4j/log4j-core/2.6.2/log4j-core-2.6.2.jar
|
467
|
-
- vendor/jars/org/logstash/logstash-core/5.0.0-
|
467
|
+
- vendor/jars/org/logstash/logstash-core/5.0.0-rc1/logstash-core-5.0.0-rc1.jar
|
468
468
|
homepage: http://www.elastic.co/guide/en/logstash/current/index.html
|
469
469
|
licenses:
|
470
470
|
- Apache License (2.0)
|