multiline: introduce static cri parser backend, providing 9mb/s performance gain over current regex cri parser#9418
Conversation
e14075d to
24261f4
Compare
24261f4 to
d953463
Compare
da4016a to
ba7b693
Compare
ba7b693 to
9bdd4e3
Compare
9bdd4e3 to
9030e20
Compare
|
@patrick-stephens @edsiper - i fixed the fuzzer issues and it should be ready for review but now all of the unit tests are failing on a |
Yup I'm looking at that, the test is triggering a spurious failure in the framework on macOS so I'll resolve but it's unrelated to your change so can be ignored |
@ryanohnemus this should be resolved I think now on latest |
Signed-off-by: ryanohnemus <ryanohnemus@gmail.com>
Signed-off-by: ryanohnemus <ryanohnemus@gmail.com>
Signed-off-by: ryanohnemus <ryanohnemus@gmail.com>
Signed-off-by: ryanohnemus <ryanohnemus@gmail.com>
Signed-off-by: ryanohnemus <ryanohnemus@gmail.com>
As part of #9399, I have been looking into performance improvements in fluent-bit. Specifically for apps in k8s that are creating many logs within a short amount of time (ie logging >15mb/s).
Test setup:
Hardware: GCP n2-standard-8 w/ ssd bootdisk
With config: (see full config in example config section)
multiline.parser: cri(or any parser present) - i am able to achieve - 49.224Mb/s throughputmultiline.parser: criadded to tail input above - throughput is 18.571Mb/smultiline.parser: criadded to tail input above - throughput is 27.572Mb/s ~9mb/s gain by not using a regex parserImproving the multiline parsing speed should also considerably cut down on issues from log tail rotations (log rotations missed when fluentbit is backed up), since parsing is much more performant.
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:
Using the k8s_perf_test from Performance Testing of Fluent-bit with several filters shows log processing falling < 5mb/s #9399 with the following service config:
If this is a change to packaging of containers or native binaries then please confirm it works for all targets.
ok-package-testlabel to test for all targets (requires maintainer to do).Documentation