Make MemoryLimiter Extension an http/grpc middleware
Component(s)
extension/memorylimiter
Describe the issue you're reporting
Currently there are ongoing efforts for making the generic extension applicable to all components. While this work is in progress, the memorylimiter can still be used as a http/grpc middleware (for otlp receiver) without making much changes in the structure of extension. This will atleast help us introduce backpressure in otlp receivers for the time being
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
I'm 👎 for this. While this may be a short term solution, it's bad design, and the kind of technical debt that would take a while to clean up (while introducing breaking changes).
I don't understand how this is a breaking change? I believe this is the intended outcome stated in https://github.com/open-telemetry/opentelemetry-collector/issues/9591
The memory limiter extension is replacing the memory limiter processor: the processor is a bad design because so much memory is already allocated, IMO.
The memory limiter is also not my preferred architecture for limiting memory. See my related series of drafts draft https://github.com/open-telemetry/opentelemetry-collector/pull/13265, which led to the easiest thing we could all agree on, which was the middleware extension design. Thus, the PR #14071 in my opinion actually lets us call #9591 finished: the memory limiter extension, created to replace the processor, has its final form.