* Make auto-instr work with latest otel-java snapshot
* Add CircleCI workflow to run nightly test job against otel-java snapshot
* Decrease snapshot versions cache time
* Add comments suggest during review
* Add comments suggest during review
* Add missed helper class
* Use released otel-java 0.4.0
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
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.
* Better span names for hystrix
* Better span names for finatra
* Better span names for dropwizard-views
* Span name should be route only when available
* Remove resource.name attribute in ratpack
* Remove resource.name attribute in jetty
* Remove resource.name attribute in play
* Span name should be route only when available
* 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
* Update HTTP client-side span names
* Add query and fragment to http.url for HTTP client spans
* Add query and fragment to http.url for HTTP server spans
* Update HTTP server span names to be the matched route or resource
* Use net.peer.* instead of peer.* attributes
* 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>
Make it clear that this is experimental option, as the specifics of log
capture will definitely change sometime in the future once there is an
agreed on OpenTelemetry spec for this.
Capture logs as spans, to avoid the limitations of current
implementation that captures them as events (no log capture when no
current span, and limited number of events per span).
Change the log instrumentation module names to just reflect the
underlying logger, e.g. "log4j-1.1" instead of "log4j-spans-1.1". This
way we don't end up with an entirely deprecated artifact once the
logging spec is worked out. The spans instrumentation now shares modules
with the MDC instrumentation, which I think is reasonable, as you pick
which one you want via configuration.
* Added service name and corrected span name
* Support peer address for clients
* Added server peer address resolution
* Added constants for new tag names
* Cosmetic change
* Fixed muzzle issue
* Better handling of addresses
* Addressed PR comments
* Made couchbase agent compliant to semantic conventions
* Made tests resilient to variations in internally generated queries
* Fixed test function signatures
* Capture gRPC messages as events
* Rename verification method to avoid conflicts
It's common to have a 'name' test parameter/field which then causes
conflicts with verification method of the same name 'name'.