* Port AsyncSpanEndStrategy to Instrumenter API
* code review comments
* rename to AsyncOperationEndSupport
* weak-ref agent strategy storage; and passing response to Instrumenter if types match
* fix tests
* Support for multiple extension jars by scanning the given folder
* Support to embed extension jar right inside agent jar
* Support for multiple embedded extensions
* Create temp folder for embedded extensions only if they found
* ExtensionClassLoader skips agent jar when scanning folder
* Apply suggestions from code review
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* Update examples/extension/build.gradle
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Remove unnecessary final on params and local vars
* Fix gwt
* Keep final for non-initialized var
* Keep final for non-initialized var
* Keep final for non-initialized var
* Attach servlet async listener with asyncStart instrumentation
* Exclude Spring packages containing servlet request classes from global ignores
* Exclude Tapestry HSR proxy with global ignore
* Improve comments.
* Fix for Liberty - request response when adding async listener
* Removed unused methods
* Explicit response to async listeners on all servlet engines
* Attach response to request on Jetty
* Fix broken build due to rebase, improved a comment
* Address PR comments
* Added a comment.
* Addressed PR comments
* split out inner classes into separate files
* and since they're public API I made them a little bit better: added javadocs, renamed classes/methods
Getting the `...extension.muzzle` package stable is the first step to extracting the muzzle compile time plugin - the plugin may have a bit different release lifecycle than the main project and getting those classes stable will help a lot with eliminating breaking changes.
* First POC for external extension loading
* Fix NPE
* Urlhandler
* Fix
* Polish
* Polish
* Urlhandler
* Trying Urlhandler
* Alternative way to load extensions
* Polish
* Add example extensions and smoke test for their usage
* Support for system property
* Polish
* Avoid doing remapping twice
* Polish after merge
* Update to latest changes in extentions api
* Polish
* No need for tooling
* Simplify
* Cleanup
* Better error handling
* Update to the latest API
* 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>
* Muzzle code generation cleanup
- remove hardcoded class names from MuzzleCodeGenerator (easier renaming in the future)
- store field/method descriptors in references instead of types/lists of types
- remove unnecessary primitive type comparison in ReferenceMatcher (comparing descriptors is enough)
- improve printMuzzleReferences output