-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
[extension/memorylimiter] add memory limiter extension, a copy of memorylimiter processor #8964
Conversation
09200a7
to
5b2cbf2
Compare
|
@mx-psi will you take a look? |
@splunkericl impl of httlp interceptor a9f24a1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. waiting for maintainers to take a look
going to follow up with PRs after this:
|
85d0022
to
1f2204d
Compare
@timannguyen Thanks for raising this PR and apologies for not replying sooner. Since this is a new component, would you mind bringing this up to the Collector SIG weekly meeting? It happens on Wednesdays at 09:00 PT |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #8964 +/- ##
==========================================
- Coverage 90.35% 90.22% -0.13%
==========================================
Files 339 343 +4
Lines 17965 18003 +38
==========================================
+ Hits 16232 16244 +12
- Misses 1409 1430 +21
- Partials 324 329 +5 ☔ View full report in Codecov by Sentry. |
1f2204d
to
40338db
Compare
@mx-psi is there a link to the meeting? I can make it. |
@timannguyen Sure! Here are the meeting notes that include the Zoom link https://docs.google.com/document/d/1r2JC5MB7GupCE7N32EwGEXs9V_YIsPgoFiLP4VWVMkE/edit Please add this as an item for the agenda :) |
d1fd893
to
58cae28
Compare
updated impl of http and grpc timannguyen@e84fa98 |
@dmitryax will you take a look whenever you have a chance? |
c4a9038
to
3314255
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@timannguyen can you please move the shared code to internal/memorylimiter
and reuse it instead of copying?
3314255
to
0ce7781
Compare
@dmitryax i did the refactoring. let me know how it is |
64417da
to
043aae3
Compare
cant quite replicate |
278c4ba
to
91c75cc
Compare
91c75cc
to
858c33f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. @mx-psi PTAL as well
the collector. The extension will potentially replace the Memory Limiter Processor. | ||
It provides better guarantees from running out of memory as it will be used by the | ||
receivers to reject requests before converting them into OTLP. All the configurations | ||
are the same as Memory Limiter Processor. The extension is under development and does nothing. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add what's the strategy for the future? How would this extension interact with the pipeline? Would receivers need to do anything at all to take advantage of this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jpkrohling, this is not well-defined yet. I have some ideas. I can put them in a doc or an issue and bring it for discussion. I believe this can be done as a follow-up and we can merge this PR to make it available for playing. The new component is in development stability and is not expected to be used in prod anyway. WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the information I'm looking for is already part of the github issue, but I think the design should be clear by looking at the component alone (readme and examples). That said, it's certainly OK to have it done in a follow-up PR.
Description:
following #8632, this change is to move memory limiter to being an extension. This allows us to place the component to reject incoming connections due to limited memory, providing better protection to the otel collector.
missing feature: receiver fairness. issue where a receiver hogs all the resource can happen.
Link to tracking Issue:
#8632
Testing:
unit test
Documentation:
README.md