* Report only known collection names in MongoClientTracer (#1625)
* Use allow-list of commands that are known to use collection name as the value of the command
* Special-case getMore command, which uses a different field for the collection name
* Add create, drop, and createIndexes to list of commands with collection name as their values
* Improve command scrubber in MongoClientTracer (#1587)
* Don't scrub the command field value at all if it's a string
* Use JsonWriter to improve efficiency of the scrubber
* If available, user JsonWriter.Builder.maxLength to limit size of the query string
* Move `DbSystem` to package `...instrumentation.api.db`
* Move `SqlNormalizer` to `javaagent-api` package ...api.db.normalizer
* Refactor Cassandra tests so that they use testcontainers (and run on Java 11)
* Implement Cassandra statement normalization
* Remove version from `apache-httpclient` instrumentation
Fixes: #1260
* Remove version from all instrumentation names and add instrumentation name to `spring-web`
Fixes: #1260
* Add mongodb attributes for operation and collection
* Switch to using SemanticAttributes.MONGODB_COLLECTION
* Remove unused imports
* Fix import order
* Fix formatting
* Update tests to keep more readable closure syntax
* Run spotlessApply
* 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
* 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