Is your feature request related to a problem? Please describe.
It would be nice to have rate limiting capability in aggregator actions to be able to limit the number of events while aggregating.
This is a sub-issue of issue #2015.
Describe the solution you'd like
Provide a new action rate_limiter that would limit the number of events per second as shown below
processor:
aggregate:
identification_keys:
- # ... Identification keys for the metric ...
action:
rate_limiter:
events_per_second: 10
drop_when_exceeds: true
The above config would limit the number of events per second to 10 and drops any excessive events that are rejected by the rate limiter. Setting drop_when_exceeds to false would result in rate limiter to block when an event could not be allowed to pass.
Is your feature request related to a problem? Please describe. It would be nice to have rate limiting capability in aggregator actions to be able to limit the number of events while aggregating.
This is a sub-issue of issue #2015.
Describe the solution you'd like
Provide a new action
rate_limiter
that would limit the number of events per second as shown belowThe above config would limit the number of events per second to 10 and drops any excessive events that are rejected by the rate limiter. Setting
drop_when_exceeds
tofalse
would result in rate limiter to block when an event could not be allowed to pass.Additional context This action when combined with
when
condition of aggregation can be used to rate limit a events matching a specific condition. Rate limiting is one of the policies of tail sampling provided by OTEL - https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/tailsamplingprocessor/README.md