- Notifications
You must be signed in to change notification settings - Fork 327
CallTree recycling #1592
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
CallTree recycling #1592
Conversation
| Another idea that's probably worth implementing in addition to this: only hold soft (not weak) references to call tree roots. This doesn't fix the root cause but mitigates the severeness of the symptom. Basically another safety net. |
Good idea! I had a thought in the same direction with regard to the One more thought I have is to connect the I will do some more additional cosmetic recycling changes to the recycling flows. |
| Now that I started implementing the cache, I saw that it we would need to allocate a |
Codecov Report
@@ Coverage Diff @@ ## master #1592 +/- ## ============================================ - Coverage 66.68% 58.72% -7.97% + Complexity 3021 92 -2929 ============================================ Files 282 399 +117 Lines 14165 17864 +3699 Branches 1922 2475 +553 ============================================ + Hits 9446 10490 +1044 - Misses 4065 6649 +2584 - Partials 654 725 +71
Continue to review full report at Codecov.
|
SylvainJuge left a comment
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.
[question] would it make sense to have all tree nodes keep a reference to their respective pools (root nodes and others) so that recycling would always be done to the right pool ?
...agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/CallTree.java Show resolved Hide resolved
...agent-plugins/apm-profiling-plugin/src/main/java/co/elastic/apm/agent/profiler/CallTree.java Outdated Show resolved Hide resolved
9f92605 to c81c3d1 Compare caba3d6 to 8f5eab6 Compare 
What does this PR do?
Initial attempt to fix a sampling profiler's memory leak reported at the forum.