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

[META] Config: Tasks to reach agent config parity #33

Closed
7 of 9 tasks
jackshirazi opened this issue Nov 13, 2023 · 2 comments
Closed
7 of 9 tasks

[META] Config: Tasks to reach agent config parity #33

jackshirazi opened this issue Nov 13, 2023 · 2 comments

Comments

@AlexanderWert AlexanderWert changed the title Config: Tasks to reach agent config parity [META] Config: Tasks to reach agent config parity Nov 14, 2023
@jackshirazi
Copy link
Contributor Author

jackshirazi commented Nov 28, 2023

Looking through a few of the configs, it's going to be an extensive task to get close to feature parity. Some issues

  • The Otel agent is mainly architected for static configuration defined at startup and is really not designed dynamic changes. Retrofitting dynamic support will be extremely hard
  • The AutoConfigurationCustomizerProvider is not really designed for resetting defaults, even though it claims to. Effectively the 2 config setters overwrite whatever is there, and provide something where nothing is. For example see this discussion on setting the server URL defaults
  • otel.javaagent.enabled (which enables/disables the agent instrumentation) is read before agent initialization, so can't be set by an extension
  • The otel equivalent of trace_methods is otel.instrumentation.methods.include which doesn't support wildcards. As the wildcard tracing is really really useful (so many customer and SA and support investigations have used it), we will need to either use our implementation or implement it into the otel one
  • Changing sampling can be done dynamically and may be a useful mechanism to "turn off" the agent - but doesn't turn off metrics or log sending
  • otel.javaagent.debug is true or false, so either all non-debug is output, or everything is output, rather than the various levels we have; additionally it's only read at startup before the properties can be set in an extension (it adds a logging span processor) so this looks yet again painful

@jackshirazi
Copy link
Contributor Author

Closing this, next steps covered in #300

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

No branches or pull requests

1 participant