-
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
processor_calyptia: new lua processor for logs/metrics/traces #9323
Open
tarruda
wants to merge
11
commits into
fluent:master
Choose a base branch
from
tarruda:tarruda/implement-calyptia-processor
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
processor_calyptia: new lua processor for logs/metrics/traces #9323
tarruda
wants to merge
11
commits into
fluent:master
from
tarruda:tarruda/implement-calyptia-processor
Conversation
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
The new processor has a similar API to filter lua, with the following differences: - logs/metrics/traces are supported - it is now possible to modify logs metadata - when splitting logs, it is possible to also specify the timestamp/metadata of each split log. - global variables for the return codes were added, these can make scripts more readable. The variables are: - DROP (-1) - KEEP (0) - MODIFY (1) - MODIFY_KEEP_TIMESTAMP (2) - For metrics/traces, timestamp is not used (since timestamps are specified using internal fields) - For metrics, metadata is not used for now Signed-off-by: Thiago Padilha <[email protected]>
tarruda
requested review from
fujimotos,
niedbalski,
patrick-stephens,
celalettin1286,
edsiper,
leonardo-albertovich and
koleini
as code owners
September 2, 2024 13:31
Signed-off-by: Thiago Padilha <[email protected]>
tarruda
force-pushed
the
tarruda/implement-calyptia-processor
branch
from
September 2, 2024 13:55
3111c33
to
e2246fb
Compare
tarruda
force-pushed
the
tarruda/implement-calyptia-processor
branch
from
September 2, 2024 14:03
e2246fb
to
716ad80
Compare
Signed-off-by: Thiago Padilha <[email protected]>
tarruda
force-pushed
the
tarruda/implement-calyptia-processor
branch
from
September 2, 2024 14:14
716ad80
to
a6d8918
Compare
Signed-off-by: Thiago Padilha <[email protected]>
cosmo0920
requested changes
Sep 10, 2024
cosmo0920
reviewed
Sep 10, 2024
Signed-off-by: Thiago Padilha <[email protected]>
Signed-off-by: Thiago Padilha <[email protected]>
Signed-off-by: Thiago Padilha <[email protected]>
Signed-off-by: Thiago Padilha <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The new processor has a similar API to filter lua, with the following differences:
NOTE: I could not use
lua
as the processor name because it would conflict withfilter_lua
, and filters have a precedence when instantiating a processor. Since this processor is used in the implementation of calyptia processing rules, I thought it would make sense to name it "calyptia".This processor is already fully tested as part of core fluent-bit project. The tests make use of the integration tests infrastructure of calyptia core. I have added the tests in the
examples
directory, since these tests can also be used as API examples. After building, you can run the examples like this:*update: I have added a test script under the "tests" directory. This script will run every examble in the
examples/processor_calyptia
directory with valgrind (each one runs as a background job). These are the valgrind results of running locally: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.