-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
go: proxy: plugin: Implement multi-threaded Golang input plugin mechanism #5056
Conversation
51e4560
to
e03504d
Compare
cf1b75e
to
a7a187e
Compare
c1f9371
to
92ec27a
Compare
63e4679
to
3b14f9d
Compare
3b14f9d
to
a63b754
Compare
a506554
to
35d0c34
Compare
35d0c34
to
5e30211
Compare
a93593a
to
9bb8aaa
Compare
Recently we merged a new approach to have native threaded input plugins; parts of the design consider:
There are two ways for an input plugin to specify that it needs to be run in a separate thread:
As an example take a look at the new in_event_test plugin that sets the flag .flags FLB_INPUT_THREADED: https://github.com/fluent/fluent-bit/blob/master/plugins/in_event_test/event_test.c#L404 The logic of this new proxy interface needs to be adapted, actually I think it will be simplified since no thread management will required, so we can make sure that any plugin that gets connected through the proxy interface by default runs in a separate thread. |
37bb521
to
79bff47
Compare
72d17c7
to
ed1e2e4
Compare
ed1e2e4
to
ba689f7
Compare
ba689f7
to
2e50b5f
Compare
…nism Signed-off-by: Hiroshi Hatake <[email protected]>
2e50b5f
to
a269dd1
Compare
I already implemented this logic for plugin proxy. |
@edsiper this PR needs your approval. I just +1 it. |
This PR provides Golang input plugin mechanism on Fluent Bit core.
This work is based on multi-threaded input plugin mechanism that is implemented on #4586.
The related issue is None.
Enter
[N/A]
in the box, if an item is not applicable to your change.Testing
Before we can approve your change; please submit the following in a comment:
fluent-bit.conf
plugins.conf
[PLUGINS] Path /path/to/workdir/fluent-bit/build/in_gdummy.so
This patch works with fluent-bit-go and corresponds a shared object that is built with Golang input plugin interface.
This is also sent a PR there: input: Implement Golang Input plugin interface and added input example fluent-bit-go#52
If this is a change to packaging of containers or native binaries then please confirm it works for all targets.
Documentation
Backporting
Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.