The Rack config was redefining a constant in the configuration, since
this value isn't used anywhere else there was no need to use a constant.
The conflicting ROOT contants was defined in `lib/logstash/patches/profile_require_calls.rb`
Fixes: #5163Fixes#5208
This commit introduce a mutex around the structured hash for the metric,
this hash is not updated frequently and its used mostly for the api to
be able to do search on the collected metric. Adding a mutex make sure
the changes are visible accross thread.
Fixes#5152Fixes#5178
When logstash reload a configuration the collector should remove all the
collected metrics from the store since it wont make any sense with a new
configuration. You should have the same behavior as when you restart
logstash.
Fixes#4801
Introduce the idea of a registry plugin placeholder where all necessary
interface to plugins is mantained, also simplified the internal registry
calls to be more generic.
Add a way to handle registrations for plugins explicitly
introduced the idea of self.plugin_type method to fetch plugin type from base clase, also removed the former plugins:mixin used to annotate defined plugins
make the config_name method also handle the registration to the plugin registry, that way old plugins get registration out of the box and we can simply incoming plugin registry without automatic loading
simplify the plugin registry by removing former need to load classes, now they all get registered automatically when using the config_name method
cleanup unnecessary former changes
updated typo in comments for the plugins registry and also removed internal attr_reader for the same class
renamed plugin annotate to declare_plugin to have a more meaningful name
change Registry::Plugin.gem_name -> cannonic_gem_name to reflect the idea of having probably also other non cannonic gem names
Fixes#4535
We now hide this because displaying it is dangerous. Generated code
and other AST data may contain plaintext copies of 'password' type fields.
Users can force this to appear with the --debug-config flag.
Fixes https://github.com/elastic/logstash/issues/4964Fixes#4965
The move to auto-scale output workers was great in theory, but a lot of outputs
just weren't built to support it well, they often used too many resources or had
logical errors.
Fixes#4904
Need to revert bump to 5.0.0.dev because individual plugins
will not install on top of this version.
In plugins' gemspec, the constraint is
`s.add_runtime_dependency "logstash-core", ">= 2.0.0", "< 3.0.0"`
This needs to be mass updated, and then bumped to 5.0.0
Fixes#4828
format test properly for the node_spec api
Introduce a more proper organization of the dummy/mock runner to avoid
having wrong state propagaged across the different tests. This was
discovered by the unnecessary need to have the rubydebug codec as it was
due to wrong pipeline startup.
make the node stats test sync with last changes in data formats
improve web api service logic from reviews
remove the requirement of using output-null as only with output {} you get the same effect
Fixes#4782
Test improvements:
* Cleanup non used fixture.
* Improve node_stats tests by adding omre context and format checks.
* Add a new node_specs endpoint test that checks the expected data is
returned for the hot_threads resource.
Fixes#4782
This an integration test where the pipeline should emit specific
metrics. Also fix an issue of the output delegator not correctly
recording the metrics.
Normalize the naming of the metrics collected at the plugin level
following #4492Fixes#4802
This updates the specs to cover this expectation. It also makes
assertions about default values if a default `${FOO:default value}` is
given.
Specs pass for me (18 specs)
(Improves on #4710)
add support to select the port from the runner cli option
move defaults pickup to the webserver for port and also cleanup debug code
Fixes#4655Fixes#4653
As discussed in this adds:
/
/_node/hot_threads
/_node/stats/
/_node/stats/events
/_node/stats/jvm
/_stats/jvm
introduces also small refactors and cleanup necessary to improve the
webapi code quality.
adds also a way to handle references from the webapi to the internals of
logstash by passing the agent refrences to the collector, this is not
perfect, but for now it solve the communication situation until furder
refactor.
Fixes#4652Fixes#4653