Skip to content
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

Allow suppressing nested activities in native instrumentations without dependency on OTel SDK #4641

Open
lmolkova opened this issue Jul 6, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@lmolkova
Copy link

lmolkova commented Jul 6, 2023

Feature Request

Native instrumentations cannot suppress underlying HTTP spans without taking a dependency on OTel. They also cannot enrich/improve generic HTTP spans.

Higher-level (than HTTP) Instrumentations such as Azure SDK, AWS, Elasticsearch clients may want to suppress default generic HTTP instrumentations. Here're the reasons they might not want default HTTP spans:

  • too verbose. E.g. client library may want to report logical calls and supply all information there.
  • add custom details:

Currently suppressing generic instrumentation is only possible with SuppressInstrumentationScope:

  • Azure SDK native instrumentations cannot do it
  • AWS, Elasticsearch instrumentations do it in instr libraries that depend on OTel.

Describe the solution you'd like:

Define a well-known key, which, when set in the Activity.Properties, suppresses the creation of nested activities. Example shown in #4642

Describe alternatives you've considered.

  • Instrumentation layers and suppressing duplicates oteps#172 - introduced span type and suppressing duplicates based on type (implemented in Java, but too controversial and did not make it into the spec)
  • providing a way to enrich generic HTTP spans
  • reflection-based access to SuppressInstrumentationScope, which wouldn't work in the case of AOT

I'll be happy with any other solution that can be done without taking a dependency on OTel.

Additional Context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant