Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7436
* Created new Module `spring-webflux-5.3` which contains only
server-side library instrumentation
* Minimum supported version is 5.3 because there are various problems in
older versions of reactor and webflux that prevent a few of the tests
from passing.
* Moved existing `spring-webflux-5.0` (webclient instrumentation) into a
common `spring-webflux` folder next to the 5.3 (server) instrumentation.
Moved the README to the parent folder so the docs are cohesive between
client/server instrumentation.
* Implemented `WebFilter` which instruments the server-side
* Depends on the `reactor-3.1` instrumentation to pass the context
around. Registers the react hook when it creates the `WebFilter`
* Tests using the standard HTTP server test suite
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Working PR to capture all the changes required to update to otel java
1.19.0. The new log API force allows
`:instrumentation-appender-api-internal` and
`:instrumentation-appender-sdk-internal`, but necessitates a decent
amount of refactoring as a result.
The PR points at the `1.19.0-SNAPSHOT`, which I'll update upon
publication.
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
* Update gradle to 7.5
* Bump to 7.5.1
* gradle 7.5.1 with jdk17
* spotless
* one more --add-opens
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
* Set http.route in spring-autoconfigure webmvc instrumentation
* Bump spring-webmvc library instrumentation version to 5.3
* nit: protected -> private
* Remove duplicated test (already covered by HttpSpanStatusExtractorTest)
* Move the README to the correct module
* fix link
* fix more links
* liiiiiiinks
* fix tests
* remove not needed weakref
* 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