-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
[pkg/stanza] Make Stanza adapter more more synchronous by removing channels and workers #35453
Comments
Pinging code owners:
See Adding Labels via Comments if you do not have permissions to add labels yourself. |
Removing |
Hi! I would like to take this on if this is not taken yet |
It's yours @bacherfl, thanks for picking it up! |
Thanks @andrzej-stencel! One quick question to clarify: Currently the Should we remove the async channels from the |
Good point @bacherfl. I wasn't aware that the I put "almost" in the sentence above, because we want to keep using the 100-entry buffer in the LogEmitter, which makes it not completely synchronous after removing the channels and workers. |
Thanks for the clarification @andrzej-stencel - then I will proceed with also adapting the log transform processor and the container parser. I also saw that you were doing some performance evaluations in #35454, so I will also use that method to compare the changes I make and update the PR once I have the results |
alright, I think the PR is ready for a first round of reviews - I have added the performance test results to the PR description. CC @andrzej-stencel |
Component(s)
pkg/stanza
Is your feature request related to a problem? Please describe.
This issue is created as a result of discussion in #31074. From #31074 (comment):
and:
Describe the solution you'd like
Remove the channels and workers by having
LogEmitter
convert Stanza entries to log records and callConsumeLogs
synchronously. Leave the 100-log buffering in place for this change, to minimize the impact. Compare benchmarks.Describe alternatives you've considered
Leaving the 100-log buffering in place leaves the issue of losing logs still not completely resolved. Ideally we want to get rid of this buffering, but we need to step cautiously, as this may have serious performance impact. We should measure this impact and possibly explore possibilities for Stanza receivers like Filelog receiver / File consumer to emit entries in batches, not one by one. Implementing this would alleviate the possible performance impact that removing of batching in
LogEmitter
may introduce.Additional context
See #31074
The text was updated successfully, but these errors were encountered: