Plugins have moved to https://github.com/logstash-plugins/... into
individual repositories. One plugin per repo.
* Add plugin install task and add required plugins for testing
* Adding a plugin task to install plugins
* Added required plugins to a prep task for the test part.
Fixes#1984
Conflicts:
lib/logstash/filters/multiline.rb
lib/logstash/outputs/hipchat.rb
logstash.gemspec
The new way to build is using 'rake' and not 'make'.
For some some attempt at compatibility, any 'make' invocation will
invoke rake. `make foo` will invoke `rake foo`.
This is for #1640
Major changes:
* rake is used instead of make. This allows us to more easily improve,
debug, and test the build tooling.
* The build process can be bootstrapped from any Ruby that has
Rake available. Bootstrapping rake is automatic will download JRuby and
re-execute itself under JRuby.
* rpm and deb packages no longer list any java as dependencies. This
is the result of user discomfort and discussions which concluded
that there is no good way to "depend" on Java via rpm or deb.
Internal changes:
* Vendoring paths are project-based. Each vendor directory is now
specific as vendor/<project>/... For example, JRuby is dumped into
vendor/jruby/...
Other changes:
* We don't use jruby-complete anymore. We now use bin/jruby as the entry point.
This improves the startup time of Logstash on my laptop by approximately
1.5 seconds (~25% speedup of startup time). Testing `bin/logstash
version` speed; 5 runs each:
* Before patch: 7.27 7.55 7.26 7.42 7.47
* After patch: 5.54 5.97 5.67 5.58 5.54
Smaller changes:
- removed 'env' subcommand
- Remove 'deps' subcommand. Replaced by 'rake vendor:all'
- Add gem_home method for this platform's GEM_HOME
- .travis.yml removed because we haven't used Travis in a long time.
- bin/logstash exits nonzero with a useful message if JRuby can't be found.
Notes:
Invoke bundler via system() call instead of Bundler::CLI.
After some discussion in #bundler on freenode (very helpful!) on how
to do what we need to do with bundler, I was encouraged to not use the
bundler api from ruby, so system() it is.
Patch slightly modified to fit the new model of packaging (ruby instead
of shell invocation), but original author is obazoud in #1008.
Richard Pijnenburg helped with some of the code and was lovely in
helping test it.
Fixes#1640
- Move helper functions in own modules and extend Rspec
- Refactor files into correct naming and paths
- Modify files to use new spec_helper and helpers
- Pin rspec to 2.14.x
Fixes#1758
This allows sprintf to correctly print floats up to 15 decimal
places, which should be enough for most. Without this, very big
or very small floats will be converted to scientific notation.
closes#1670
* Allow @message @source in match for email output
* Restore lost plugin documentation from some time ago
6c9b36b227
* Integrate ibrahima comments: use respond_to? :each
- Added metrics_format option to define the resulting format of the
metric string that will be sent to graphite.
example:
graphite {
host => "graphite.local"
port => 2003
fields_are_metrics => true
include_metrics => ["foo"]
metrics_format => "my.system.%{metric}"
}
- added test suite for graphite plugin
Scenario:
- @flush_thread starts writing to redis (@redis.rpush)
- main thread adds a new message to @pending
- @flush_thread deletes this message (@pending.delete)