Skip to content
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/logratelimitprocessor #36592

Open
wants to merge 8 commits into
base: main
Choose a base branch
from

Conversation

anuraj381
Copy link

Description

This PR add a new Processor for rate-limiting logs based on several configurable log fields.
The logratelimit processor is useful in the situation where you are collecting logs from multiple services on every otel-collector pod and there are one or many services which are logging too many logs such that it increases noise in the entire pipeline and storage (otel backend). So to control the log noise/surge from any service/namespace/pod etc. you can use the rate-limit processor, you can give the fields on which you want to limit logs and add config for allowed rate and interval.

Link to tracking issue

#35204

Testing

Tested with some real data in development environment, unit tests to be written in next PR

Documentation

Added code documentation and added a Readme file with processor details and config info / how to use

@anuraj381 anuraj381 requested a review from a team as a code owner November 28, 2024 18:16
Copy link

linux-foundation-easycla bot commented Nov 28, 2024

CLA Signed

The committers listed above are authorized under a signed CLA.

@github-actions github-actions bot added the cmd/otelcontribcol otelcontribcol command label Nov 28, 2024
Copy link
Member

@bogdandrutu bogdandrutu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Confused that in the issue we are talking about a generic rate limit vs a logs specific one.

@anuraj381
Copy link
Author

@bogdandrutu the discussion in the issue mentioned is entirely focused on logs rate-limiting which is actually the pain point as logs in high scale production system often get noisy from some services/contributors and there is currently no solution in otel-collectors to rate-limit them, however for traces solution is already available in tail-sampling processor to rate-limit traces/spans.
However if in-case this processor has to be generic rate-limiter then it can be extended to accommodate traces and metrics in later PRs.

@atoulme atoulme added the Sponsor Needed New component seeking sponsor label Dec 6, 2024
@atoulme
Copy link
Contributor

atoulme commented Dec 6, 2024

You have not secured a sponsor for this new component. Please attend a SIG meeting and make your case. Alternatively, please consider hosting your component in a separate repository. See https://github.com/otel-warez/stdinreceiver for an example.

@anuraj381
Copy link
Author

@atoulme @mx-psi can we please add this to discussion agenda for next SIG meeting. Also I see next SIG meeting for collector implementation on 18th Dec, 24 6:30AM IST, please let me know if this is the right one, I will attend, checked from here - https://github.com/open-telemetry/community?tab=readme-ov-file#implementation-sigs

@atoulme
Copy link
Contributor

atoulme commented Dec 17, 2024

@atoulme @mx-psi can we please add this to discussion agenda for next SIG meeting. Also I see next SIG meeting for collector implementation on 18th Dec, 24 6:30AM IST, please let me know if this is the right one, I will attend, checked from here - https://github.com/open-telemetry/community?tab=readme-ov-file#implementation-sigs

yes this is the next SIG meeting, in 90 minutes or so. You can add any agenda item to the meeting, I can do it for you this time around.

@MovieStoreGuy
Copy link
Contributor

Reminds me of the conversation #6908

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmd/otelcontribcol otelcontribcol command Sponsor Needed New component seeking sponsor
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants