-
Notifications
You must be signed in to change notification settings - Fork 1k
add InstrumentationMode enum #15777
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
add InstrumentationMode enum #15777
Conversation
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'm wondering if we even need these:
otel.instrumentation.common.default-enabledotel.instrumentation.xyz.enabled
now that we have:
tracer_provider:
tracer_configurator/development:
default_config:
disabled: true
tracers:
- name: io.opentelemetry.okhttp*
config:
disabled: false
I think we still need to be able to disable individual instrumentations. For example imagine that instrumentation has a bug or does expensive class matching, then just disabling the tracer won't be enough. As for disabling all instrumentations with |
laurit
left a comment
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 don't quite get why the default enabled couldn't be a simple boolean.
we wanted to allow for future values live "all", "minimal" or similar |
I agree |
Should we scope these configuration options to the java agent then (under the agent distro node in declarative configuration)? We could restructure our general recommendations around using tracer config, while preserving this as an advanced java agent configuration. |
The reason for the current design is that it allows native instrumentation to use the properties in a natural way. |
why does native instrumentation need to access these configuration options? |
for the same reason as in agent: disabling when it's broken |
|
I'm not sure that's an important use case outside of the Java agent (which needs it due to it being zero code, and due to the problems inherent in using bytecode instrumentation) |
good point - I've created #15796 to continue the discussion. This PR can be done first I think. |
this PR seems unnecessary if we are going forward with #15796 also, I think we could reconsider whether we really need a multi-state "mode" or if boolean is good enough |
let's go back to boolean then. I'll add a design proposal to #15796 |
No description provided.