-
Notifications
You must be signed in to change notification settings - Fork 805
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
Move suppress tracing context key to SDK #2202
Move suppress tracing context key to SDK #2202
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2202 +/- ##
==========================================
- Coverage 92.81% 92.71% -0.10%
==========================================
Files 139 142 +3
Lines 5021 5120 +99
Branches 1031 1049 +18
==========================================
+ Hits 4660 4747 +87
- Misses 361 373 +12
|
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.
lgtm, lint is failing though
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.
I will not block it but I still think this is bad idea to add this to sdk. Adding this to sdk will force sooner or later to use sdk everywhere in each package. Now we have very good separation and dependency. With this one small change we will add extra 200k to the web too and to any package just to be able to use one small functionality. Not mentioning that any 3rd party sdk which until now was using only api and instrumentation and semantic conventions will have to include our sdk next to its own sdk. More kb, possible name / functionality collisions etc. etc. I would encourage to reconsider this now as it will be much harder later to remove it.
This only applies to instrumentations because the rest of the SDK already depends on core. Of all of our instrumentations, only 1 has it so saying "everywhere in each package" will have to eventually depend on the SDK is a little hyperbolic.
There are no web instrumentations which use suppress currently. The web sdk already depends on core. To me it seems there is no change for web.
Third party SDKs can make their own decisions but there is no requirement for them to use this feature or functionality. Remember that the exporters, processors, and propagators are considered to be written for our SDK. If a third party SDK decides to use them then great, but there is no requirement there. |
Broken tests appear unrelated to this change. |
I think this should be merged even though the tests are broken because the test failures are unrelated (they happen on other PRs and on main too) and this is blocking the upgrade to use api 0.19 @open-telemetry/javascript-maintainers WDYT |
the linting is failing too, I'm checking will let you know what I find out |
527ddf2
to
22c5466
Compare
Sorry for force push. Had to remove the commits which provided all the linting "fixes" for the bad prettier linting rules. |
packages/opentelemetry-core/src/baggage/propagation/HttpBaggagePropagator.ts
Outdated
Show resolved
Hide resolved
@Flarna yeah its related to the rebase. working on it now |
Should be OK now |
Originally we talked about putting this in an API extensions package, but because it is a feature of the SDK I think it should be a part of the SDK, not an external component. It can be made available to instrumentations by either an API extensions package later or by instrumentations depending on core. Because we use
Symbol.for
to get keys, there is no version issue with this.API extensions package can be added as a follow-up