-
Notifications
You must be signed in to change notification settings - Fork 821
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
Benchmark tests for trace OTLP transform and BatchSpanProcessor #4218
Benchmark tests for trace OTLP transform and BatchSpanProcessor #4218
Conversation
Codecov Report
@@ Coverage Diff @@
## main #4218 +/- ##
=======================================
Coverage 92.32% 92.33%
=======================================
Files 330 327 -3
Lines 9417 9351 -66
Branches 1993 1970 -23
=======================================
- Hits 8694 8634 -60
+ Misses 723 717 -6 |
Rebased to get the latest changes from main (looks like the build failures were related to the recent problems we had with lerna/nx) |
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.
Looks great, thanks for working on this. I think having those will be very valuable as I think we leave a lot of performance on the table especially with the oltp transform step.
* chore: track package-lock.json (#4238) * chore: track package-lock.json * Pin to old versions for node 14 * Use version range * Remove unused cached directories * Temporarily disable other tests * Temporarily enable only api test * Enable only some packages * Test only api packages * Test trace exporters * Fix line ordering * Test all packages except otlp exporters * Add trace http exporter * Add trace proto exporter * Test all but grpc exporters * chore: use npm workspaces and degrade lerna to v6 * chore: get rid of lerna bootstrap * chore: use npx * chore: allow install scripts to setup buf * chore: fix w3c-integration-test cache key * chore: fix cache key * chore: disable resource compat test * chore: fix node_modules assumptions * chore: fix hoisted karma issue * chore: fix markdown linter complaints * chore: lock @grpc/grpc-js to v1.8.21 * Break caches * chore: remove cache * chore: fixup inline commands --------- Co-authored-by: Daniel Dyla <[email protected]> * docs: fixed link to benchmark results (#4233) Co-authored-by: Chengzhong Wu <[email protected]> * chore(deps): update all patch versions (#4215) * fix: otlp json encoding (#4220) Co-authored-by: Marc Pichler <[email protected]> * fix: remove duplicate export star from version.ts (#4225) Co-authored-by: Marc Pichler <[email protected]> * docs: fix sdk-node config instructions (#4249) Co-authored-by: Marc Pichler <[email protected]> * feat(api): publish api esnext target (#4231) * chore: release API 1.7.0/Core 1.18.0/Experimental 0.45.0 (#4254) * fix(sdk-metrics): hand-roll MetricAdvice type as older API versions do not include it (#4260) * chore: prepare release 1.18.1/0.45.1 (#4261) * chore: no need for 'packages' in "lerna.json" (#4264) * Benchmark tests for trace OTLP transform and BatchSpanProcessor (#4218) Co-authored-by: Marc Pichler <[email protected]> * chore: type reference on zone.js (#4257) Co-authored-by: Marc Pichler <[email protected]> * docs: add docker-compose to run prometheus for the experimental example (#4268) Co-authored-by: Marc Pichler <[email protected]> * fix(sdk-logs): avoid map attribute set when count limit exceeded (#4195) Co-authored-by: Marc Pichler <[email protected]> * chore(deps): update dependency chromedriver to v119 [security] (#4280) * chore(deps): update actions/setup-node action to v4 (#4236) * fix(sdk-trace-base): processor onStart called with a span having empty attributes (#4277) Co-authored-by: artahmetaj <[email protected]> * Update fetch instrumentation to be runtime agnostic (#4063) Co-authored-by: Marc Pichler <[email protected]> --------- Co-authored-by: Chengzhong Wu <[email protected]> Co-authored-by: Martin Kuba <[email protected]> Co-authored-by: Mend Renovate <[email protected]> Co-authored-by: Siim Kallas <[email protected]> Co-authored-by: Marc Pichler <[email protected]> Co-authored-by: David Luna <[email protected]> Co-authored-by: Dinko Osrecki <[email protected]> Co-authored-by: Trent Mick <[email protected]> Co-authored-by: François <[email protected]> Co-authored-by: Hyun Oh <[email protected]> Co-authored-by: André Cruz <[email protected]> Co-authored-by: artahmetaj <[email protected]> Co-authored-by: drewcorlin1 <[email protected]>
This is a follow-up to #4171
I am adding a couple more benchmark tests that I think are measuring areas of the SDK that are most likely to contribute to performance overhead during the export process. One test is measuring the transform of internal spans to OTLP, and the other the overhead that the BatchSpanProcessor adds when processing spans (since it is almost always used).