Anuraag Agrawal
cc47da585b
New Instrumenter API ( #2596 )
...
* Instrumenter
* Spotless
* More instrumenter
* More
* Instrumenter API
* New Instrumenter API - InstrumenterBuilder (#20 )
* New Instrumenter API - InstrumenterBuilder
* New Instrumenter API - InstrumenterBuilder - code review comments
* Start doccing
* Docs
* Most tests
* Last test
* Stick with current hostName lookup for now
* Update testing-common/src/main/groovy/io/opentelemetry/instrumentation/test/base/HttpClientTest.groovy
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* New Instrumenter API - code review comments (#21 )
* Doc
* Checkstyle
* Cleanups
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-04-05 15:45:07 +09:00
HaloFour
bf8ea885f2
Add AsyncSpanEndStrategy implementation for RxJava 2 instrumentation ( #2665 )
2021-04-04 22:05:01 -07:00
Lauri Tulmin
949d82fbef
Reset context class loader for new thread ( #2691 )
2021-04-01 16:29:11 -07:00
HaloFour
9a5c65284f
Rename Jdk8AsyncEndStrategy to Jdk8AsyncSpanEndStrategy ( #2664 )
2021-03-30 19:09:27 -07:00
HaloFour
b0d27405eb
Add asynchronous tracing to Spring Boot Autoconfigure WithSpanAspect ( #2618 )
2021-03-29 16:35:08 -07:00
Anuraag Agrawal
79d7e88e53
Use Caffeine for weak maps ( #2601 )
...
* Caffeine weakmap
* Use Caffeine for weak maps
* Drift
* Drift
* Remove weak-lock-free
* Update licenses
* Fix bug
* Restore weaklockfree
* Clean
* Fixes
* Inline expunction
* Synchronized
* More comment
* Fix shading
* Executor
* computeIfAbsent and delete unused.
* Fix license report
2021-03-24 17:12:26 +09:00
Trask Stalnaker
0ce9ca57d9
Move attributes to span builder for use by samplers ( #2587 )
...
* Move attributes to span builder for sampler use
* Fix test
* Remove unnecessary test
2021-03-17 15:02:56 +02:00
Mateusz Rzeszutek
ae23b97ec4
Move and rename NetPeerUtils ( #2548 )
...
* Move and rename NetPeerUtils
* Rename NetPeerUtils to NetPeerAttributes; inject instance instead of using a global var
* Rename SpanAttributeSetter to AttributeSetter (might be used to set on AttributesBuilder in the future, who knows)
* Deprecate default BaseTracer constructor: library instrumentations are supposed to inject all dependencies, the javaagent should explicitly pass globals
* fix compilation failure
* Remove peer.service customization from library instrumentation
2021-03-16 13:50:19 +01:00
Anuraag Agrawal
cf6d9deb4e
Extract library instrumentation for lettuce 5.1 ( #2533 )
2021-03-10 10:03:53 +09:00
Piotr Glazar
92d61b5844
Auto value ( #2494 )
...
* SqlStatementInfo as AutoValue
* RequestMeta as AutoValue
* DbInfo as AutoValue
* After merge compilation fix
* CouchbaseQuerySanitizer compilation fix
* JdbcConnectionUrlParserTest compilation fix
* Revert "RequestMeta as AutoValue"
This reverts commit 609b57ee48
.
2021-03-09 15:07:03 +02:00
Mateusz Rzeszutek
3dff44874f
Fix RestTemplateInterceptor so that it calls endExceptionally() on exception ( #2516 )
2021-03-08 09:36:47 -08:00
Mateusz Rzeszutek
fe4d95a689
Refactor BaseTracer#onError() method (and unwrapThrowable()) ( #2513 )
...
* Refactor BaseTracer#onError() method (and unwrapThrowable())
Also remove the deprecated BaseTracer(Tracer) constructor.
* Update BaseTracer javadoc
* fix tests
* Code review comments
2021-03-08 15:08:26 +02:00
Anuraag Agrawal
94872b1ced
Move DB helpers to instrumentation-api ( #2511 )
...
* Move DB helpers to instrumentation-api
* Fix gradle config
* Remove legacy
2021-03-08 12:32:36 +09:00
Trask Stalnaker
5162c023bc
Updates to thread propagation debug property ( #2500 )
2021-03-05 11:02:36 -08:00
Mateusz Rzeszutek
72ffb3b7c5
Make BaseTracer fields private ( #2492 )
...
* Make BaseTracer fields private
By making `tracer` private we're forcing all tracer implementation to use the `spanBuilder()` utility method and pass the parent context manually.
2021-03-05 10:54:00 -08:00
Anuraag Agrawal
d7f8967ff6
Add a caching API based on caffeine for use from instrumentation, not just javaagent ( #2477 )
...
* Add caching API
* Finish
* javadoc
* Extract dep
* git add
* Drift
* Spotbugs
* checkstyle
* Fix package
* Test Caffeine patch
2021-03-05 17:57:23 +09:00
Lauri Tulmin
29790d8472
Low cardinality name for servlet span ( #2417 )
2021-03-04 12:39:37 -08:00
Trask Stalnaker
0abc492bc3
Rename more properties ( #2486 )
...
* Rename more props to experimental
* Rename more properties
* Rename .internal to .testing
* Revert changes to examples distro
* Move chunk.new-trace to experimental
* Fix unrelated build issue
2021-03-04 11:20:47 -08:00
Mateusz Rzeszutek
8242a01b3a
Clean up and document BaseTracer ( #2482 )
2021-03-04 11:21:46 +01:00
Mateusz Rzeszutek
fbe55e04aa
Use low cardinality span names in Cassandra instrumentation ( #2423 )
2021-03-03 17:54:44 +01:00
Mateusz Rzeszutek
04d6fb67ff
Move SERVER and CLIENT span context keys out of BaseTracer ( #2468 )
...
* Move SERVER and CLIENT span context keys out of BaseTracer
Inspired by https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/1726#issuecomment-731890267
* Rename context keys
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-03-03 16:12:42 +01:00
Mateusz Rzeszutek
a139d72014
Initialize Config for library instrumentations ( #2467 )
...
* Initialize Config for library instrumentations
Extracted from https://github.com/open-telemetry/opentelemetry-java-instrumentation/pull/2434
* Fix tests
2021-03-03 09:55:14 +02:00
Anuraag Agrawal
9f3dfdbc51
Use atomic updaters instead of atomic fields to reduce allocations fo… ( #2462 )
...
* Use atomic updaters instead of atomic fields to reduce allocations for commonly created objects.
* Typo
2021-03-03 14:56:37 +09:00
Mateusz Rzeszutek
8f3ea83504
Move some classes out of instrumentation-api ( #2466 )
...
* MethodsConfigurationParser is moved to javaagent-tooling - it's only used in some instrumentation modules
* BootstrapPackagePrefixesHolder is moved to javaagent-api - it just needs to be in the bootstrap CL for the classloader instrumentation, so it does not necessarily need to be instrumentation-api
2021-03-02 10:31:53 -08:00
Trask Stalnaker
c838498a73
Rename two props to otel.instrumentation.common.* ( #2457 )
2021-03-02 10:25:36 -08:00
Mateusz Rzeszutek
24486c35b5
Use low cardinality span names in Couchbase instrumentation ( #2449 )
...
Also move unit tests to a separate module, previously they passed purely by accident (necessary classes were injected by the javaagent)
2021-03-02 10:25:01 -08:00
Mateusz Rzeszutek
c18acb858e
Add BaseTracer#inject() method ( #2453 )
...
* Add BaseTracer#inject() method
And avoid using GlobalOpenTelemetry#getPropagators()
* Code review comments
2021-03-02 15:30:04 +01:00
Mateusz Rzeszutek
32a575ca9c
Remove deprecated BaseTracer#extractWithGlobalPropagators() methods ( #2452 )
2021-03-02 11:05:42 +01:00
Mateusz Rzeszutek
163062d13e
Remove deprecated end() & endExceptionally() methods from BaseTracer ( #2424 )
2021-03-01 18:14:30 +01:00
John Watson
6fed672dc6
move the SupportabilityMetrics class and make package-private ( #2427 )
2021-02-26 20:56:09 -08:00
Mateusz Rzeszutek
fd55ce226a
Refactor DatabaseClientTracer (in preparation for low-cardinality span names) ( #2398 )
...
* Refactor DatabaseClientTracer (in preparation for low-cardinality span names)
* spotless
2021-02-26 15:36:24 +01:00
Mateusz Rzeszutek
e87cf37f63
Remove some deprecated BaseTracer#end(Span) usages (part 1) ( #2401 )
2021-02-25 11:35:37 +01:00
John Watson
57185f5b73
Create a new SupportabilityMetrics class rather than using alpha Metrics ( #2353 )
2021-02-24 12:34:45 -08:00
Nikita Salnikov-Tarnovski
eaa8604e96
Better context passing for Netty 4.1 ( #2361 )
...
* Better context passing for Netty 4.1
* Format
* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/context/ContextPropagationDebug.java
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
* Return test
Co-authored-by: Anuraag Agrawal <anuraaga@gmail.com>
2021-02-23 10:26:41 +02:00
Lauri Tulmin
c8ca7e8d07
Make http.flavor spec compliant ( #2370 )
2021-02-22 13:12:05 -08:00
Anuraag Agrawal
0290761acb
Migrate Armeria to HttpServer/ClientTest ( #2345 )
...
* Add HttpServerTest for Armeria
* semicolon
2021-02-20 10:35:54 +09:00
Anuraag Agrawal
000df967ce
Update to SDK 0.17.0 ( #2338 )
...
* Update to SDK 0.17.0
* Finish
* ottrace
2021-02-19 15:51:55 +09:00
Mateusz Rzeszutek
f127a972dc
Add 'trace_flags' to logging MDC ( #2312 )
...
* Add 'trace_flags' to logging MDC
* Remove 'sampled' flag
* Rename MDC keys to the current logging spec convention: trace_id instead of traceId
* Fix smoke tests
2021-02-18 16:47:26 +09:00
John Watson
836da8dbfd
Add a metric for counting the number of suppressed spans. ( #2135 )
...
* Add debug logging when a span is suppressed.
* cleanup from PR comments
* add a `default` to the switch to make checkstyle happy
* rather than logging, use a counter to keep track of the number of suppressed spans.
* update for latest from upstream
* add a default branch for checkstyle
2021-02-17 09:29:58 +02:00
Anuraag Agrawal
c6bb83e653
Don't String.format when determining if instrumentation is enabled. ( #2309 )
2021-02-17 12:52:40 +09:00
John Watson
a0b208fd52
Turn on the logging span exporter if agent debug is enabled. ( #2270 )
2021-02-16 15:38:37 -08:00
Mateusz Rzeszutek
a74f60b3f8
Add JUnit 5 extensions for instrumentation testing ( #2241 )
...
* Add JUnit 5 extensions for instrumentation testing
* Fix kafka tests
* RepeatedTest
2021-02-12 12:57:08 +01:00
Mateusz Rzeszutek
0fbdcad1dd
Make BaseTracer#startSpan() return Context ( #2232 )
...
* Make BaseTracer#startSpan() return Context
* Update instrumentation/apache-camel-2.20/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/apachecamel/CamelEventNotifier.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* spotless
* Add Javadocs to BaseTracer
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-02-12 12:12:40 +01:00
Mateusz Rzeszutek
ecf64c25f3
Remove BaseTracer#startScope() method ( #2224 )
...
* Remove BaseTracer#startScope() method
* fix compilation failure
2021-02-10 11:39:38 +01:00
ET
42850e3ac2
Add OpenTelemetry parameter constructors to all api Tracer classes ( #2233 )
2021-02-09 13:35:41 -08:00
Anuraag Agrawal
fc410706d0
Update to Sdk 0.16.0 ( #2221 )
...
* Update to 0.16.0-SNAPSHOT
* Finish
* Finish
* Update to 0.16.0
* Finish
2021-02-09 18:00:54 +09:00
John Watson
644ee18666
Add constructors/methods to the base tracers to enable injecting an OpenTelemetry instance ( #2197 )
...
* Add constructors/methods to the base tracers to enable injecting propagators.
* formatting
* deprecate old things. convert to non-deprecated where easily possible.
* formatting, always more formatting
2021-02-05 15:50:47 +02:00
Mateusz Rzeszutek
7a3f345c18
Clean up BaseTracer, part 1 ( #2159 )
...
* Move context leak debugging to ContextPropagationDebug
* Remove getCurrentSpan()
* Add end(Context, ...) & endExceptionally(Context, ...) methods - they're supposed to replace the ones that accept Spans in the future
2021-02-02 10:12:46 +02:00
汤煜冬
c523fa2eae
add abstract method getRpcSystem() ( #2149 )
2021-02-01 13:47:27 +02:00
Jakub Wach
77922d4834
SQS propagation for AWS SDK 1.1 ( #2114 )
2021-01-29 10:21:12 +02:00