-
Notifications
You must be signed in to change notification settings - Fork 48
Remove suppressInstrumentation #59
Comments
There are cases where suppressInstrumentation is used not in instrumentations context. We as a vendor use it in our sdk to suppress traces for our backend services communication. For example: calls to config service which we don't want to exhaust user attention with. I would prefer for it to reside in api extension package, so users wouldn't need to take dependency on instrumentation package when they only need suppressInstrumentation util. |
So the plan is to make the effort to split it out right now to release the GA, wait for the spec to ev entually add it to the spec and merge it back into the API with a minor release ? |
this sounds awkward to me, this will be spec'ed sooner or later anyway, we have this functionality already in place seems people are using this, not sure if this is a right move to remove it now to just add it again very soon |
I guess the problem is that spec may require it different. |
I totally understand this, but what i don't understand is that they requires us to make the chance now so spec reviewers can take their time to add it to the API. I feel if we just do the change it will take weeks/months to get this into the API even though every language have this concept. |
So you mean keep it as is and delay GA of JS API until spec is finished regarding this? |
Yeah |
We have been told specifically by the TC to remove it. There is no guarantee it will be spec'd in its current state and the spec PR has recieved quite a bit of pushback. They suggested we create an API extension package for functionality like this which we want to provide to users but is not in the spec. |
Yes, if it ever is added to the spec, but that is not certain. There were also other solutions proposed to solve the same use-cases. Other languages have this concept but they actually only have it in their SDK. They don't expose it to instrumentation at all. |
Well i think implementing into SDK ourselves seems the most coherent things to do. What about:
I suggest this because having yet another package that we need to maintain (and for contributor to understand) seems complex, WDYT ? |
I think instrumentation package is a good place for this. Every instrumentation depends already on it. |
The other option is to create an edit: I see you don't have it depend, but have both packages just use the same key with edit: the more I think on this, the more I think the |
This comment has been minimized.
This comment has been minimized.
I would be in favour of adding extra package, not sure though where it should sit, but having extra package would be easiest way for the end user because the package will not depend on anything except api. |
I think it should probably live in open-telemetry/opentelemetry-js repo to make it clear that the extensions are not officially part of open-telemetry/opentelemetry-js-api and may not work with other SDKs. |
we could potentially include there some few helpers that we can't add under api official package ...... |
Spec PR ongoing at the time of this issue creation open-telemetry/opentelemetry-specification#1653
While this functionality is not in the spec, we need to remove it from the API. We can create a package in SDK for API extensions, or include it in the instrumentation package, if we want to expose this functionality to instrumentations.
The text was updated successfully, but these errors were encountered: