instrumentation config: use :unsatisfied #2011
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
With 1930 the agent will now automatically convert any configured instrumentation value of
:auto
into either:prepend
or:chain
once the determination of which approach to take has been dynamically determined.This will allow the agent's config to be inspected after the
:prepend
/:chain
determination is made to see what:auto
actually becomes under the hood.But 1930 left an edge case gap open in the form of not allowing the configuration to convey instrumentation with unsatisfied dependencies. If a config value is set to
:prepend
or:chain
in the configuration (overriding the default:auto
value) and a dependency is unsatisfied (the library to instrument is not found on the system, it is of an unsupported version, etc.) then the value would end up staying as:prepend
or:chain
and incorrectly convey to anyone inspecting the config that a certain method of instrumentation was used when in actuality no instrumentation was performed at all.Now, if an instrumentation's dependencies are unsatisfied, the corresponding configuration value will be updated with a value of
:unsatisfied
.