* Tomcat server handler with passing integration and smoke tests.
* Update server span name from the servlet integration instead of trying to mimic it from the server handler.
* Cleanup and more javadocs.
* Use Java8BytecodeBridge in advice code.
* Use Java8BytecodeBridge in advice code.
* Use earliest version for compilation and muzzling.
* Use consistent instrumentation name.
* Record throwables only if the context is managed by something else.
* Getting scope handling right. Moved server span renaming logic via AppServerBridge to the ServletHttpServerTracer.
* codenarc
* more PR comments addressed
* Pass Method to startServerSpan
* Directly port the java-runtime-metrics module over from otel-java.
* java 8 cleanups
* Make consistent with oshi module
* Bump mockito and assertj versions
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Struts PoC
* Instrument ActionInvocation to get correct timings. Refactor to use latest o11y SDK and API.
* Fix license header.
* Revert accidental Gradle configuration change.
* First passing test for struts instrumentation.
* Cleanup
* Convert Struts test to HttpServerTest.
* Fix Spotless formatting issues.
* Manage scope properly in Struts advice. Use existing handlerSpan method to assert struts handler span detection. Make Struts controller behave similarly with other HttpServerTest implementations.
* Rename method.
* Update server span name when path params are used.
* Struts PoC
* Instrument ActionInvocation to get correct timings. Refactor to use latest o11y SDK and API.
* Fix license header.
* Revert accidental Gradle configuration change.
* First passing test for struts instrumentation.
* Cleanup
* Convert Struts test to HttpServerTest.
* Fix Spotless formatting issues.
* Manage scope properly in Struts advice. Use existing handlerSpan method to assert struts handler span detection. Make Struts controller behave similarly with other HttpServerTest implementations.
* Rename method.
* Update server span name when path params are used.
* Account for GStrings in asserted values.
* Use Groovy friendly Assert.
* Giving up on getting to work user-friendly assertion messages. Moving controller to a package, as ognl inside struts can't handle classes with no packagaes.
* Make codeNarc happy.
* Make spotless happy.
* Rename struts-2 to struts-2.3. Move autoinstrumentation to javaagent sub-folder to accommodate for library.
* Use tracer() instead of TRACER and other minor tweaks.
* Nicer way for asserting values returned from a method call.
* Fix formatting.
It leads to a lot of warnings on any developer machine without AWS credentials configured. And CI, where AWS credentials actually matter, uses explicit env variables anyway.
* Prepare a single test bootstrap jar at top level.
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Add comment
* Use buildDir instead of build
* Testing SDK also in bootstrap
* Remove sdk from testing bootstrap loader
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Add initial baseline instrumentation for AWS lambda runtime.
* narc
* Cleanup
* docs
* Remove sentence which is redundant with every manual instrumentation we provide.
* Support RESTeasy 4.0 version in unit tests
* Split jaxrs-2.0 into jaxrs-2.0-common and jaxrs-2.0-testing (similar to e.g. play)
* Support newest RESTEasy version in unit tests
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Support RESTeasy 4.0 version in unit tests - code review follow-up
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Initial work on kotlin suspend functions.
Introduce new instrumentation to capture kotlin suspended coroutines
and track/update Context appropriately. Add high-concurrency test
showing the issue and that it is solved.
* spotlessApply
* Fix spelling of continuation.
* Fix kotlin style
* Add kotlin dependencies to muzzle
* Fix muzzle in another package that pulls in java-concurrent.
* Use runBlocking instead of a sleep to finish test
* Clarify and improve comments on how/why
* Move kotlin coroutines instrumentation to top-level instrumentation module
* Properly build muzzle check for kotlin-coroutines
* Merge kotlin-testing into regular src/test rather than separate module
* Clean up attach/detach logic
* Tighten bounds and skipVersions on kotlin muzzle
* Rename fields and clean up attach logic
* Clean up types/side-effect code
* spotlessApply
* Enhance muzzle testing to properly test latest kotlin.
Required updating a few kotlin-y things to latest version to properly resolve the jvm
variant of their new multiplatform stuff.