* Merge javaagent-instrumentation-api into javaagent-extension-api
* remove some leftover references to javaagent-instrumentation-api
* add missing instrumentation-api to distro example
* Port WithSpanInstrumentation to Instrumenter API
* Unit tests, clean up attribute binding APIs
* Remove AsyncSpanEndStrategies and fix weak reference purging
* Move tryToGetResponse to AsyncOperationEndSupport
* Address PR comments
* ParameterAttributeNamesExtractor can no longer return a null array
* Add binding of span attributes for traced methods
* Spring Aspect support, memoization
* Test with attribute name from ParameterNameDiscoverer
* Refactorings, javadocs and tests
* Refactor out creating AttributeBinding to separate class
* Wrapped attribute bindings for array parameters
* Attribute binding for List and EnumSet
* Attribute binding for subclass of List with reflection helper class
* Fix test failures in JDK 8
* Attribute binding to Set<? extends Enum>
* Move attribute binding to instrumentation-annotation-support project
* Fix copypastaed missing imports in tests
* Simplify ParameterizedClass based on PR feedback and add javadocs
* Remove blank javadoc
* Switch to cache with weak keys for memoizing attribute bindings by method
* Remove binding support for EnumSet<?>
* Clean up javadoc
* Use SpanAttribute annotation from opentelemetry 1.4.0-SNAPSHOT
* Address some PR concerns
* Clean up
* Fix instrumentation dependency in Springboot
* Update documentation
* Switch javaagent dep to compileOnly per PR comment
* spotless
* Kick CI
* Rename annotation support module and packages
* Resolve SpanAttribute annotation at runtime with fallback for older OTel versions
* Remove unnecessary dependency
* Move reflection helper to annotation support module
* Remove unnecessary enum and fields from unit test
* Refactor TypeInstrumentation#transformers() method part 1
Add TypeInstrumentation and its implementations
* Refactor TypeInstrumentation#transformers() method part 2
Use the new method in all existing TypeInstrumentation implementations
* Drift
* Spotless
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Make BaseTracer fields private
By making `tracer` private we're forcing all tracer implementation to use the `spanBuilder()` utility method and pass the parent context manually.
* MethodsConfigurationParser is moved to javaagent-tooling - it's only used in some instrumentation modules
* BootstrapPackagePrefixesHolder is moved to javaagent-api - it just needs to be in the bootstrap CL for the classloader instrumentation, so it does not necessarily need to be instrumentation-api
* testing-common refactoring: replace direct AgentTestRunner usage with spock spec
* Updated instrumentation docs
* Fix reactor-core library tests
ReactorCoreTest was getting a tracer from GlobalOpenTelemetry before LibraryTestTrait had a change to initialize the SDK
* Hide the context keys in the BaseTracer.
Provide the appropriate methods to get access.
* key needs to be static
* put all the span suppression logic in the BaseTracer
* the formatter is our friend
* rename method and add tests
* tests that work!
* Hide the context keys in the BaseTracer.
Provide the appropriate methods to get access.
* key needs to be static
* fix formatting
* more formatting, sigh
* remove an errant semicolon