-
Notifications
You must be signed in to change notification settings - Fork 780
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
[benchmarks] Add LogBenchmark when BatchProcessor is used #5746
[benchmarks] Add LogBenchmark when BatchProcessor is used #5746
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #5746 +/- ##
==========================================
+ Coverage 83.38% 86.13% +2.75%
==========================================
Files 297 254 -43
Lines 12531 11057 -1474
==========================================
- Hits 10449 9524 -925
+ Misses 2082 1533 -549
Flags with carried forward coverage won't be shown. Click here to find out more. |
Co-authored-by: Piotr Kiełkowicz <[email protected]>
@@ -134,7 +150,15 @@ public void ThreeProcessors() | |||
this.loggerWithThreeProcessors.SayHello(FoodName, FoodPrice); | |||
} | |||
|
|||
internal class DummyLogProcessor : BaseProcessor<LogRecord> | |||
internal class NoOpLogProcessor : BaseProcessor<LogRecord> |
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.
internal class NoOpLogProcessor : BaseProcessor<LogRecord> | |
internal class NoopLogProcessor : BaseProcessor<LogRecord> |
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.
It this updated? @cijothomas
Co-authored-by: Reiley Yang <[email protected]>
Added a Log Benchmark when
BatchExportProcessor
is used instead of a normal NoOpProcessor. SDK special cases ourBatchExportProcessor
(not 3rd party authored), to use a different LogRecord pooling mechanism.This benchmark will show the perf difference, when using that pooling mechanism. (It is much higher than the ThreadLocal based pooling, only useable in sync exporters like etw)
Also renamed Dummy -> NoOp processor, as the processor is a no-op, with no ability to accept alternate behavior.
The following shows the cost when BatchingProcessor is used (compared to other processor), which has to copy all the Log state+scope.
@CodeBlanch mentioned that the benchmarks is pushing large number of logs forcing the pool to hit the limit, and start allocating.