Trask Stalnaker
10db083e77
Update to OTel API/SDK 1.2.0 ( #2945 )
...
* Update to OTel API/SDK 1.2.0
* TCP.IP -> tcp_ip
* Fix smoke tests
2021-05-10 10:14:07 -07:00
Hangzhi
60ee981d07
Prevent http.url containing credentials in HttpClientTracer ( #2707 )
...
* http.url must not contain credentials
* remove user info from url
* Update HttpClientTracerTest.groovy
fix inconsistency in protocol
* fix httpClient and httpServer
* Update HttpServerTracer.java
* Only scrub userinfo if present
Co-authored-by: Anuraag Agrawal <aanuraag@amazon.co.jp>
2021-05-06 23:31:26 -07:00
Lauri Tulmin
1fba62807f
Resteasy server span naming ( #2900 )
...
* Resteasy server span naming
2021-05-06 15:04:56 +03:00
Lauri Tulmin
357140c081
Server span naming for servlet filters ( #2887 )
...
* Server span naming for servlet filters
* wildfly default servlet has empty mappings
* jetty11 requires java11
* try a differnt way to disable jetty11 tests on java8
* Update instrumentation/servlet/servlet-5.0/javaagent/src/test/groovy/TomcatServlet5FilterMappingTest.groovy
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* review fix
* rework to use InstrumentationContext
* remove debugging code
* move MappingResolver to avoid ClassCastException on wildfly
* Update instrumentation/servlet/servlet-3.0/javaagent/src/test/groovy/TomcatServlet3FilterMappingTest.groovy
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
* review fixes
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-05-06 13:25:17 +03:00
Mateusz Rzeszutek
c9a3793bf8
Instrumenter API improvements ( #2860 )
...
* Instrumenter API improvements
* Move HTTP & net classes to separate packages
* Remove `db` prefix from method names in `DbAttributesExtractor`
* Add request-only net attributes extractor (it'll be needed in spring-sleuth-otel once we decide to use Instrumenters there)
* One NetAttributesExtractor class, javadocs
* add missing @Nullable
* Apply suggestions from code review
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* spotless
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-06 11:35:38 +02:00
Nikita Salnikov-Tarnovski
9e9fe118fb
Update NamingConvention.java ( #2913 )
...
Improved wording.
2021-05-05 09:42:04 -07:00
Mateusz Rzeszutek
e00341729f
Use Instrumenter in JMS instrumentation ( #2803 )
...
* Use Instrumenter in JMS instrumentation
And introduce messaging semantic conventions
* Code review comments
* Use Instrumenter in JMS instrumentation - code review comments
* remove useless test
* fix missing instrumentation version
* Code review comments
* Do not allow conditional delegation to SDK
2021-05-05 10:35:39 +03:00
Anuraag Agrawal
a66a13f938
Only reset server context if there is a leak. ( #2876 )
...
* Only reset server context if there is a leak.
* Spot
2021-04-28 15:35:49 +09:00
Trask Stalnaker
1824e36b96
Better server span name for Grails and Wicket ( #2814 )
2021-04-22 14:16:54 -07:00
Lauri Tulmin
9f8371e77c
Use locale insensitive lower/upper case conversion ( #2838 )
2021-04-22 11:24:13 +09:00
Mateusz Rzeszutek
ce3a88ca8c
Move ContextPropagationDebug to internal package ( #2804 )
...
And use it in the Instrumenter API
2021-04-14 10:12:36 -07:00
Anuraag Agrawal
b416ece9c3
Extract Mongo library instrumentation ( #2789 )
...
* Extract mongo library instrumentation
* Finish
* Drift
* Cleanup
* build twice
* Spot
2021-04-14 13:51:21 +09:00
Mateusz Rzeszutek
113ef24bef
Use Instrumenter in JDBC instrumentation ( #2739 )
...
* Use Instrumenter in JDBC instrumentation
Except jdbc-datasource, that one is going to be in a separate PR
* Use Instrumenter in JDBC instrumentation - code review comments
2021-04-13 16:19:13 +02:00
Mateusz Rzeszutek
42cf3bc077
Record internal metric for SQL cache misses ( #2747 )
...
* Record internal metric for SQL cache misses
And use `SupportabilityMetrics` in `Instrumenter`
* Fix broken shouldStart() logic
* Code review comments
2021-04-08 17:50:48 +02:00
Trask Stalnaker
6ea316e22e
Remove timeout annotations ( #2725 )
2021-04-06 16:36:18 +09:00
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