logstash-core 5.4.3-java → 5.5.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/logstash-core/logstash-core.jar +0 -0
  3. data/lib/logstash-core/version.rb +1 -1
  4. data/lib/logstash/api/commands/hot_threads_reporter.rb +2 -2
  5. data/lib/logstash/api/commands/node.rb +0 -1
  6. data/lib/logstash/api/commands/stats.rb +0 -1
  7. data/lib/logstash/config/mixin.rb +5 -43
  8. data/lib/logstash/config/modules_common.rb +71 -0
  9. data/lib/logstash/elasticsearch_client.rb +120 -0
  10. data/lib/logstash/environment.rb +14 -3
  11. data/lib/logstash/errors.rb +1 -0
  12. data/lib/logstash/execution_context.rb +11 -3
  13. data/lib/logstash/inputs/base.rb +2 -0
  14. data/lib/logstash/instrument/global_metrics.rb +13 -0
  15. data/lib/logstash/instrument/metric_type/mean.rb +5 -0
  16. data/lib/logstash/instrument/periodic_poller/jvm.rb +5 -5
  17. data/lib/logstash/logging/logger.rb +26 -1
  18. data/lib/logstash/modules/cli_parser.rb +74 -0
  19. data/lib/logstash/modules/elasticsearch_config.rb +22 -0
  20. data/lib/logstash/modules/elasticsearch_resource.rb +10 -0
  21. data/lib/logstash/modules/file_reader.rb +36 -0
  22. data/lib/logstash/modules/importer.rb +37 -0
  23. data/lib/logstash/modules/kibana_base_resource.rb +10 -0
  24. data/lib/logstash/modules/kibana_config.rb +104 -0
  25. data/lib/logstash/modules/kibana_resource.rb +10 -0
  26. data/lib/logstash/modules/logstash_config.rb +48 -0
  27. data/lib/logstash/modules/resource_base.rb +37 -0
  28. data/lib/logstash/modules/scaffold.rb +44 -0
  29. data/lib/logstash/namespace.rb +1 -0
  30. data/lib/logstash/outputs/base.rb +2 -0
  31. data/lib/logstash/pipeline.rb +18 -4
  32. data/lib/logstash/plugin.rb +1 -0
  33. data/lib/logstash/plugins/registry.rb +5 -0
  34. data/lib/logstash/runner.rb +42 -2
  35. data/lib/logstash/settings.rb +7 -1
  36. data/lib/logstash/timestamp.rb +4 -0
  37. data/lib/logstash/util/dead_letter_queue_manager.rb +61 -0
  38. data/lib/logstash/util/safe_uri.rb +130 -11
  39. data/lib/logstash/util/thread_dump.rb +3 -1
  40. data/lib/logstash/util/wrapped_acked_queue.rb +24 -6
  41. data/lib/logstash/util/wrapped_synchronous_queue.rb +19 -5
  42. data/lib/logstash/version.rb +1 -1
  43. data/locales/en.yml +46 -0
  44. data/logstash-core.gemspec +7 -2
  45. data/spec/{api/lib/commands/stats.rb → logstash/api/commands/stats_spec.rb} +7 -2
  46. data/spec/{api/lib → logstash/api}/errors_spec.rb +1 -1
  47. data/spec/{api/lib/api → logstash/api/modules}/logging_spec.rb +1 -10
  48. data/spec/{api/lib/api → logstash/api/modules}/node_plugins_spec.rb +2 -3
  49. data/spec/{api/lib/api → logstash/api/modules}/node_spec.rb +6 -7
  50. data/spec/{api/lib/api → logstash/api/modules}/node_stats_spec.rb +2 -2
  51. data/spec/{api/lib/api → logstash/api/modules}/plugins_spec.rb +4 -3
  52. data/spec/{api/lib/api → logstash/api/modules}/root_spec.rb +3 -3
  53. data/spec/{api/lib → logstash/api}/rack_app_spec.rb +0 -0
  54. data/spec/logstash/config/mixin_spec.rb +2 -2
  55. data/spec/logstash/execution_context_spec.rb +20 -1
  56. data/spec/logstash/filter_delegator_spec.rb +2 -1
  57. data/spec/logstash/inputs/base_spec.rb +1 -1
  58. data/spec/logstash/output_delegator_spec.rb +2 -1
  59. data/spec/logstash/outputs/base_spec.rb +1 -1
  60. data/spec/logstash/pipeline_dlq_commit_spec.rb +107 -0
  61. data/spec/logstash/pipeline_pq_file_spec.rb +1 -1
  62. data/spec/logstash/plugin_spec.rb +1 -1
  63. data/spec/logstash/plugins/registry_spec.rb +22 -5
  64. data/spec/logstash/runner_spec.rb +122 -19
  65. data/spec/logstash/settings_spec.rb +91 -0
  66. data/spec/logstash/timestamp_spec.rb +6 -0
  67. data/spec/support/helpers.rb +80 -1
  68. data/spec/support/matchers.rb +13 -0
  69. data/spec/support/shared_contexts.rb +38 -0
  70. data/spec/support/shared_examples.rb +1 -1
  71. metadata +95 -40
  72. data/spec/api/lib/api/support/resource_dsl_methods.rb +0 -87
  73. data/spec/api/spec_helper.rb +0 -111
@@ -1,111 +0,0 @@
1
- # encoding: utf-8
2
- API_ROOT = File.expand_path(File.join(File.dirname(__FILE__), "..", "..", "lib", "logstash", "api"))
3
-
4
- require "stud/task"
5
- require "logstash/devutils/rspec/spec_helper"
6
- $LOAD_PATH.unshift(File.expand_path(File.dirname(__FILE__)))
7
- require "lib/api/support/resource_dsl_methods"
8
- require_relative "../support/mocks_classes"
9
- require 'rspec/expectations'
10
- require "logstash/settings"
11
- require 'rack/test'
12
- require 'rspec'
13
- require "json"
14
-
15
- def read_fixture(name)
16
- path = File.join(File.dirname(__FILE__), "fixtures", name)
17
- File.read(path)
18
- end
19
-
20
- module LogStash
21
- class DummyAgent < Agent
22
- def start_webserver
23
- http_address = "#{Socket.gethostname}:#{::LogStash::WebServer::DEFAULT_PORTS.first}"
24
- @webserver = Struct.new(:address).new(http_address)
25
- self.metric.gauge([], :http_address, http_address)
26
- end
27
- def stop_webserver; end
28
- end
29
- end
30
-
31
- ##
32
- # Class used to wrap and manage the execution of an agent for test,
33
- # this helps a lot in order to have a more integrated test for the
34
- # web api, could be also used for other use cases if generalized enough
35
- ##
36
- class LogStashRunner
37
-
38
- attr_reader :config_str, :agent, :pipeline_settings
39
-
40
- def initialize
41
- @config_str = "input { generator {count => 100 } } output { dummyoutput {} }"
42
-
43
- args = {
44
- "config.reload.automatic" => false,
45
- "metric.collect" => true,
46
- "log.level" => "debug",
47
- "node.name" => "test_agent",
48
- "http.port" => rand(9600..9700),
49
- "http.environment" => "test",
50
- "config.string" => @config_str,
51
- "pipeline.batch.size" => 1,
52
- "pipeline.workers" => 1
53
- }
54
- @settings = ::LogStash::SETTINGS.clone.merge(args)
55
-
56
- @agent = LogStash::DummyAgent.new(@settings)
57
- end
58
-
59
- def start
60
- # We start a pipeline that will generate a finite number of events
61
- # before starting the expectations
62
- agent.register_pipeline(@settings)
63
- @agent_task = Stud::Task.new { agent.execute }
64
- @agent_task.wait
65
- end
66
-
67
- def stop
68
- agent.shutdown
69
- end
70
- end
71
-
72
- ##
73
- # Method used to wrap up a request in between of a running
74
- # pipeline, this makes the whole execution model easier and
75
- # more contained as some threads might go wild.
76
- ##
77
- def do_request(&block)
78
- runner = LogStashRunner.new
79
- runner.start
80
- ret_val = block.call
81
- runner.stop
82
- ret_val
83
- end
84
-
85
- RSpec::Matchers.define :be_available? do
86
- match do |plugin|
87
- begin
88
- Gem::Specification.find_by_name(plugin["name"])
89
- true
90
- rescue
91
- false
92
- end
93
- end
94
- end
95
-
96
- shared_context "api setup" do
97
- before :all do
98
- @runner = LogStashRunner.new
99
- @runner.start
100
- end
101
-
102
- after :all do
103
- @runner.stop
104
- end
105
-
106
- include Rack::Test::Methods
107
-
108
- def app()
109
- described_class.new(nil, @runner.agent)
110
- end
111
- end