-
Notifications
You must be signed in to change notification settings - Fork 323
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
Introduce IncreasingSleepingWaitStrategy to reduce CPU consumption #446
Introduce IncreasingSleepingWaitStrategy to reduce CPU consumption #446
Conversation
Build of the changes: elastic-apm-agent-1.3.1-SNAPSHOT.jar.zip |
Quick benchmark results:
CPU usage and latency is best with IncreasingSleepingWaitStrategy but at the expense of a higher number of dropped events. |
Here's another one:
The CPU savings of |
This should still be very light on CPU but reduces the risk of overflowing the queue
Codecov Report
@@ Coverage Diff @@
## master #446 +/- ##
============================================
+ Coverage 63.28% 69.57% +6.29%
- Complexity 1336 1346 +10
============================================
Files 164 152 -12
Lines 6286 5433 -853
Branches 715 570 -145
============================================
- Hits 3978 3780 -198
+ Misses 2063 1416 -647
+ Partials 245 237 -8
Continue to review full report at Codecov.
|
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.
Great solution! Dropping events is what we are going to end up with anyway when there is too much to ingest, so why bother with busy waits and notifications..
0.1-10 ms looks more than enough (low) so as long as we get satisfactory performance metrics lets go with it
fixes #443