-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] v0.14 plugin APIs #562
Closed
Changes from 109 commits
Commits
Show all changes
111 commits
Select commit
Hold shift + click to select a range
6a8b284
Refactor to use Registry as Plugin dictionary, instead of original impl.
tagomoris ba61202
Plugin base class change: Fluent::** -> Fluent::Plugin::**
tagomoris 249bd0e
Add Fluent::Plugin::Base
tagomoris 31f56b2
Add Fluent::PluginSupport to provide thread/timer/child_process opera…
tagomoris 29eeaa3
Add new Test Driver with simplified API
tagomoris f7e7c39
Re-implement in_exec w/ v0.14 API (tests: green)
tagomoris 06bac36
Fix bug
tagomoris 65d6356
fix not to use unreliable "sleep"
tagomoris 542f4d1
fix tests w/ modern test-unit styles
tagomoris a4e5f15
fix bug not to count emit_times
tagomoris 5e38ba5
add Fluent::PluginSupport::Timer to provide timer helpers
tagomoris 218aaef
Re-implement in_status w/ v0.14 API (tests: green)
tagomoris 91a7aa5
delete meaningless method implementations
tagomoris ec915cc
keyword argument w/o default value is not supported 2.0 yet :(
tagomoris e5258ba
fix bug to call nil.join for child_process_once
tagomoris 28bf3b3
Add event_loop PluginSupport to manage event loop per plugin instance
tagomoris d618ab4
add missing requirement
tagomoris 48679c7
Add TCPServer PluginSupport to create TCP server per plugin instance
tagomoris 4ebce91
Re-implement in_http w/ v0.14 API (tests: green)
tagomoris 67f9825
fix to check keepalive enabled explicitly
tagomoris 72ed894
remove Timer dependency (circular reference)
tagomoris 3f9f5be
fix to be able to call tcp_server_listen 2 or more times
tagomoris afb56c4
Add delimiter to specify separator for callback input data
tagomoris 2c5ddbd
Add UDPServer PluginSupport to create UDP server per plugin instance
tagomoris f4302f0
Re-implement in_syslog w/ v0.14 API (tests: green)
tagomoris 39d79ba
Separate PluginId mixin from config.rb, which is above understanding
tagomoris 7a02271
Add plugin name and its id (if exists) as header of plugin logs
tagomoris bee2e5e
fix mark Fluent::DEFAULT_LISTEN_PORT as obsolete (it is of in/out_for…
tagomoris d9bf78e
add checks
tagomoris 8886a02
add API to UDPServer to get socket already bound to send data
tagomoris ea7fd83
fix timing bug to run event loop w/o attached watchers or to stop loo…
tagomoris b4984f8
add dependency explicitly
tagomoris a524e98
raise errors temporally to code correctly
tagomoris 7ceb2dd
Re-implement in_forward standard features w/ v0.14 APIs (tests: green)
tagomoris 50ef811
Separate PluginSupport::EventEmitter to make OutputPlugins not to emi…
tagomoris bfd1a4b
Fix Plugin shutdown sequence w/ five steps to shutdown them cleanly
tagomoris 2639c29
Fix with refactored method name
tagomoris 8bfc6f7
fix with new plugin lifecycle
tagomoris 614be9b
wrong equality assertion
tagomoris 79d543f
fix to work with new Fluent::Plugin::ForwardInput
tagomoris ac75066
Add Forwarding over SSL feature in rough, not tested yet
tagomoris d9fd3f8
add default ciphers referring httpclient defaults
tagomoris f69131b
fix to help unexpected IOError make tests failed
tagomoris 185852b
add configuration checks for SSL certs
tagomoris d94de7a
fix bug for variable names
tagomoris da41aac
Fix bugs
tagomoris b992d18
Add tests over SSL (green)
tagomoris 1caae14
Add Fluent::PluginSupport::Socket to provide guard for listening sock…
tagomoris 50a59a0
Decide to support Ruby 2.1 or later for Fluentd v0.14 or later.
tagomoris 1a8d026
add TODOs
tagomoris 6a7506b
re-implement in_tcp/in_udp w/ v0.14 PluginSupport API (tests: green)
tagomoris 1f51460
fix to be able to get any number of available ports
tagomoris 07fb5b6
fix to respond UDP heartbeat
tagomoris 4cd54e3
add tests about UDP heartbeats
tagomoris 8633707
Fix bug to break compatibility: default is 1
tagomoris 3f80669
Fix addr/port resolution bug
tagomoris 2e9788b
Add authentication feature to in_forward, and its tests (green)
tagomoris 80d7218
remove buggy specification
tagomoris 34289f0
fix bug not to return a port number
tagomoris 387d6d6
remove unused old test stub
tagomoris 998f9ab
Ruby 2.1 style keyword argument, without default value
tagomoris b7769f8
event timer can get float
tagomoris 6706998
fix APIs about SO_LINGER and backlog
tagomoris 0e73cca
fix typo
tagomoris b0c3d09
fix to rescue RuntimeError only (other bugs should be raised directly)
tagomoris 14681be
SO_LINGER make sockets disconnected immediately
tagomoris c1d391c
shrink socket read loop to simplify
tagomoris f5d68ce
fix to send heartbeat udp packet continuously for slow environment (T…
tagomoris 4a5fd72
fix to use different variable name for different block argument expli…
tagomoris f56e913
debug print...
tagomoris fd31707
typo
tagomoris b77899c
debug print more
tagomoris 06ff378
rescue SSLErrorReadWouldBlock explicitly, and set buf as blank
tagomoris a4f9d4a
much more debug print
tagomoris 5d741bf
debug print once more
tagomoris 4ec67b4
fix to flush data on testing write socket
tagomoris 25b7dc5
Fix to sort emitted events with its time
tagomoris 88ff1e7
remove debug prints
tagomoris c570151
add note for test code
tagomoris f9a585d
fix to rescue EOF for child process i/o
tagomoris 1a3d979
remove unused file
tagomoris da4f7f6
Fix bug to overwrite all subsections definition by subclass
tagomoris 7384841
Add plugin storage which is used by plugins over PluginSupport::Storage
tagomoris 1aba7a5
fix to stop timer events independently from event_collector shutdown
tagomoris 96374c2
Re-implement DummyInput plugin w/ v0.14 APIs (test: green)
tagomoris bca486f
Separate SystemConfig class from Supervisor, and add "plugin_storage_…
tagomoris 8d06747
Add methods for `p` output
tagomoris 9fb4479
Add SystemConfigMixin
tagomoris e9d4d39
Add method to check whether plugin id is set by user explicitly, or not
tagomoris d208abc
Fix many bugs of plugin storage
tagomoris 5be758b
Add `suspend` option to restart incremental value after stop-and-star…
tagomoris bf21a72
Revert "Fix bug to overwrite all subsections definition by subclass"
tagomoris 369f802
Fix bug not to publish method `writing?` on connection handler
tagomoris 8abdd4a
Fix to enforce to use `router.emit` instead of `Engine.emit`
tagomoris b206b33
Add compatibility layer for output plugin
tagomoris 0d4bde5
fix to specify file/dir permissions
tagomoris 5f7c9ec
Writing v0.14 Buffer API (not tested now)
tagomoris 6d01de6
Implementing new Buffer APIs, especially emitting data
tagomoris 08ebd9a
Fix plugin_id to check duplication
tagomoris 8b9d76f
Re-fix file path encoding, metadata storing and many others w/ fixed …
tagomoris 71b18c9
Fix v0.14 Buffer API and common implementations
tagomoris 522aa3d
Add initial implementations of MemoryBuffer/FileBuffer, but not tested
tagomoris 68b3758
add tests for reserved fields of sections
tagomoris e0c890c
first commit for new BufferedOutput plugin class (not tested at all)
tagomoris b39cab4
Fix to use server cert or CA cert as far as possible
tagomoris 478bab1
buffer chunk/total bytes limits are managed by buffer implementation …
tagomoris e5e1bf4
fix not to leak metadata_list
tagomoris 51c1377
implement buffered output plugin base classes with v0.14 API
tagomoris 55d7f8a
fix require paths and syntax misusage
tagomoris e33dd5c
remove already obsoleted plugins and these tests
tagomoris 9c58f42
move all plugin registries to fluent/plugin, and fix some APIs, requi…
tagomoris File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,8 @@ | ||
language: ruby | ||
|
||
rvm: | ||
- 2.0.0 | ||
- 2.1 | ||
- 2.1.5 | ||
- 2.2.3 | ||
- 2.3.0 | ||
- ruby-head | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<source> | ||
@type status | ||
emit_interval 3 | ||
tag "test" | ||
</source> | ||
|
||
<match test> | ||
@type stdout | ||
</match> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in_status will be revmoed. so no need this configuration.