-
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
fix(sdk-trace-base): processor onStart called with a span having empty attributes #4277
fix(sdk-trace-base): processor onStart called with a span having empty attributes #4277
Conversation
ab75c4b
to
ab324f4
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #4277 +/- ##
==========================================
+ Coverage 92.30% 92.31% +0.01%
==========================================
Files 330 330
Lines 9419 9421 +2
Branches 1995 1996 +1
==========================================
+ Hits 8694 8697 +3
+ Misses 725 724 -1
|
some lint complains + a changelog entry is needed |
ab324f4
to
b7f9876
Compare
b7f9876
to
44a3f65
Compare
@Flarna pushed linting fixes and changelog entry |
Please avoid forced pushes after first review has been done. Individual commits ease review. I you need changes from main branch use a merge commit on your branch. |
@Flarna sorry, my bad. I'm used to use amend and -f in other projects. Added a new commit with the improvement on the test name. |
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.
This looks good; thank you for taking care of this.
2f298b9
to
1411439
Compare
@pichlermarc @Flarna ping. Not trying to be intrusive, but this is somewhat urgent since it's requiring a workaround that involves significant overhead. Is something preventing the merge and release of this fix? |
I'll merge this in. Keep in mind that this does not mean that it'll be released immediately. I'm trying to shoot for Nov 20 |
* 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]>
Which problem is this PR solving?
This PR fixes issue #4188 in which the span processor on start method lacks attributes since they are set after with an accessor method (setAttributes) and not on the constructor itself.
This is a follow up of #4206. I will address any review asap as I'm need of this fix with urgency.
Fixes #4188
Short description of the changes
The PR adds constructor attributes to the span which are optional and if they are added from this layer the spanProcessor.onStart method will have context of attributes whenever it is called, this doest not break compatibility since setAttributes is still a valid public method and also the changes needed on wrappers like the Tracer are done.
Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Checklist: