* Lettuce and Cassandra migrated from deprecated Decarator to new Tracer
* Polish
* Polish
* Split a connection specific handling out of Lettuce database client tracers.
This eliminates the need of awkward method override in the common DatabaseClientTracer.
* Muzzle fix
* Format
* Next attempt to extract common logic from instrumentations.
I tried to reduce code repetition in DB client instrumentations, jdbc and mongo ones. This time I experimented with another approach, different from HttpServerTracer. Namely, I have extracted that common `startSpan` method into `DatabaseClientDecorator` itself. The idea is still the same as before, but I wanted to see if we can migrate by smaller steps, reusing much of the existing code and just incrementally reducing public API.
* Extracted separate Tracer after all
* More explicit call depth handling
* Fix format
* More reusable method overloads
The jTDS driver is an open source JDBC driver for connecting to SQL Server databases.
Added support for parsing the url connection string so that spans can be generated for the sql statements using this driver.
Fixes#395
* Normalize sql statements to elide literal numbers and strings.
* Missed one SlickTest sql normalization.
* Fix muzzle order for helper classes.
* Change name of feature flag
* Upgrade to latest spotless version in an attempt #1 to make the circleci build work.
* Attempt 2 to make circleci build happy - exclude build/generated/** from spotless.
* Attempt 3 to get circleci build working, adding *.java to the exclude line.
* Change exclude of generated files to include of just the src/ directory.
I confirmed that this properly failed the build if I remove a license header from a src/ directory.
* Update gradle dependencies and module name
* Replace Tracer.withSpan() with currentContextWith()
* Update inject to 0.3.0
* Update extract to 0.3.0
* More updates
* Remove distributedcontext package refs
* Update OpenTelemetry API interoperability
* No need to call setNoParent()
setParent(SpanContext.getInvalid()) should give the same result.
* Update dependency version
* Change getTracerFactory to getTracerProvider
* Update some imports
* Change put to set
* Fix up bridge
* Update package names
* Update test SpanProcessor
* Remove null conditionals around setAttribute
* Update shading
* Update span context extraction
* Rename hibernate modules
* Update tracer name
* Change from gradle inheritance to composition
This will make it possible to have empty "grouping" modules, e.g.
instrumentation:hibernate.
* Introduce empty hibernate grouping module
* Integrate SpotBugs (FindBugs) into build. Set ignoreFailures so spotted bugs do not break the build.
* Fix many SpotBugs-found items, mostly making things final, but also a redundant null check and a reliance on platform character encoding. 2 items remain which will need further work/review, but as ignoreFailures is set, they will not fail the check stage.
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* Rename SpanScopePair to SpanWithScope
* Add closeScope() method and remove getScope()
* Rename spanAndScope parameters to spanWithScope
* A few more renames
* Fix Dropwizard conversion to OpenTelemetry API
* Finish converting JDBC to use OpenTelemetry API directly
* Finish converting Servlet to use OpenTelemetry API directly
* Convert Trace Annotation to use OpenTelemetry API directly
* Convert tests to use OpenTelemetry API directly
* Move things up a directory
* Scripted mass update
find -type f -name "*.gradle" | xargs sed -i 's/:java-agent:/:/g'
* Remove plugin version now that it's in root module
* Update java-agent and instrumentation configs
* Misc