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.
|
eyalkoren
left a comment
There was a problem hiding this comment.
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