* 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
* Move client span creation to decorator and suppress creation of nested client spans.
* Store subtree client span in context.
* Apply new pattern to AWS V1 SDK instrumentation too, cleanup, and javadoc
* Allow compiling of everything with java 11
* Instruct CircleCI to use java 11 be default
* Forbid running some tests on java11
* Muzzle uses ClassLoader.platformClassLoader as parent for user-space classloader
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
Add new configuration property, `trace.methods.exclude`, which marks methods which should be excluded from instrumentation. This does not affect any arbitrary auto-instrumentation. Only auto-instrumentation guided by supported annotations (see `trace.annotations` config option and its default value in TraceAnnotationsInstrumentation#DEFAULT_ANNOTATIONS) and by `trace.methods` configuration property can be disabled using this new configuration.
* 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