Mateusz Rzeszutek
e1895e548c
Rename all methods in all Getters to use the `get*()` naming scheme ( #7619 )
...
Resolves #6562
This PR only contains renames; the actual content is in the `*Getter`
interfaces, the rest of changes is just IntelliJ doing its job.
2023-01-23 09:28:11 +00:00
Mateusz Rzeszutek
b2f42ec3fa
Encode version in spring instrumentations' package names ( #7608 )
...
Part of #932
I wanted to get this done before starting the spring boot starter v3
work.
2023-01-19 10:03:17 +00:00
Mateusz Rzeszutek
743df7b3da
Convert Spring Webflux client tests to Java; add library instrumentat… ( #7566 )
...
…ion tests
2023-01-17 11:53:24 +01:00
Trask Stalnaker
09b63d2294
Use new reactor contextWrite when available (from reactor 3.4.0) ( #7538 )
...
Related to #7107 and #7202
Support WebFlux 6.
Supporting reactor 3.5 seems pretty straightforward, the
`subscriberContext()` was deprecated in 3.4 in favor of
`contextWrite()`. In 3.5, `subscriberContext()` was removed.
This PR doesn't bump `latestDepTestLibrary` to 3.5 yet because there are
a couple of tests that succeed in 3.4 using `contextWrite()` but fail in
3.5 using `contextWrite()`.
My proposal is to review/merge this PR, and then I can ping our resident
reactor experts to see if they have thoughts on the failing tests in
3.5.
2023-01-11 20:26:12 -08:00
Trask Stalnaker
05471b053b
Webflux instrumentation fix ( #7251 )
...
When a webflux filter is added which throws an exception, the
instrumentation does not currently capture the `http.status_code`.
The fix is to move `WebClientTracingFilter` from the first to the last
filter in the chain, which I think(?) is the general strategy we've
taken for other client instrumentation, e.g. so that if a filter makes
another http call it won't be suppressed.
I don't love the test coverage I added, so let me know if you have any
better suggestions?
EDIT: btw, I did archaeology to confirm that behavior (adding to the
beginning of the chain) has been in place since the webflux
instrumentation was added originally
6f472a62a0 (diff-493ad89b5bde807c90387aa2bb67eb10d3bcef6b6a388bd31e11796a6d01ac38R36)
2022-11-22 15:09:22 -08:00
Mateusz Rzeszutek
95ec4a8c1f
HTTP semconv: filter out default peer/host ports ( #7258 )
...
After a loooong break, the next part of the HTTP semconv implementation:
filtering out default HTTP ports, client and server.
> [5]: If not default (80 for http scheme, 443 for https).
https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-client
2022-11-22 17:14:20 +00:00
Aaron Ai
2d7395c44b
Introduce markdown lint check ( #7175 )
...
Fixes #7129
2022-11-16 20:48:42 -08:00
Trask Stalnaker
71b3e3e027
Library doc cleanup ( #6948 )
...
Related to #6947 , but just cleans up the library module doc that already
existed (mostly for uniformity). Does not introduce any new doc.
2022-10-24 10:26:21 -07:00
Mateusz Rzeszutek
77035fc88c
Extract `net.peer.{name,port}` on start for CLIENT spans ( #6828 )
...
The [HTTP
spec](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/semantic_conventions/http.md#http-client )
says these two attributes must be provided at span creation time - I
think it makes sense to extend it over to all `net`-related
instrumentations, cause these are supposed to be the logical peer
name/port, which are supposed to be known before the connection is
started/exchange is made.
2022-10-10 16:00:19 -07:00
Trask Stalnaker
429ecfc713
Update error prone ( #6646 )
...
(note that change from BDDMockito is due to
https://github.com/google/error-prone/issues/3396 )
2022-09-23 11:24:40 -07:00
Trask Stalnaker
f1774cabe2
Update net semantic convention changes ( #6268 )
...
* New net conventions: option a
* Feedback + sock.family + sock.peer.name
* peer.service + tests
* server net attributes attempt 1
* server net attributes attempt 2
* Javadoc
* Revisions
* Apply to instrumentations
* Feedback
* One more default method
* Spotless
* Fix javadoc
2022-08-18 09:02:23 -07:00
Mateusz Rzeszutek
6cd79b2a94
Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode() ( #6466 )
...
* Deprecate the 2-arg variant of HttpCommonAttributesGeter#statusCode()
* fix liberty
2022-08-12 17:11:11 -07:00
Mateusz Rzeszutek
b2c90c79b5
Extract HTTP request & response content length from headers ( #6415 )
...
* Extract HTTP request & response content length from headers
* remove unused method
* fix camel tests
* fix google http client tests
* fix HttpUrlConnection tests
* fix k8s and jaxrs tests
* fix aws tests
* actually fix aws tests 🤞
* fix elasticsearch tests
* fix ratpack tests
* fix spring webflux tests
* fix vertx tests
* fix reactor netty tests
2022-08-05 10:55:47 -07:00
Mateusz Rzeszutek
5a152cd289
Deprecate uncompressed content length HTTP attributes ( #6383 )
2022-07-29 06:17:38 +02:00
Mateusz Rzeszutek
82b39b1012
Rename `newInstrumenter()` into `buildInstrumenter()` ( #6363 )
...
* Rename newInstrumenter() into buildInstrumenter()
* spotless
2022-07-25 12:02:46 -07:00
Mateusz Rzeszutek
3af56e7d22
InstrumentationConfig part 3: HTTP headers and peer service mappings ( #6302 )
2022-07-15 14:52:52 -07:00
Mateusz Rzeszutek
7bbe918008
InstrumentationConfig part 2 ( #6292 )
2022-07-11 09:47:19 +02:00
jason plumb
f38939134c
Correct spelling of opentelemetry-exporter-logging ( #6253 )
2022-07-01 21:09:04 +03:00
Mateusz Rzeszutek
87b412fb40
Instrumentation API changes: OperationMetrics, OperationListener ( #6016 )
...
* Instrumentation API changes: OperationMetrics, OperationListener
* errorprone
2022-05-12 11:16:46 -07:00
Mateusz Rzeszutek
50f91e6dee
Deprecate AttributesExtractor#set() method ( #5749 )
...
* Deprecate AttributesExtractor#set() method
* code review comments
2022-04-05 20:20:02 -07:00
Anuraag Agrawal
cd528e98fb
Rename library entrypoints to Telemetry ( #5624 )
...
* Rename library entrypoints to Telemetry
* Renames
2022-03-22 14:39:23 +09:00
Trask Stalnaker
7cd3fa4c0a
Update links ( #5579 )
2022-03-15 09:17:14 -07:00
Mateusz Rzeszutek
b0d5fc6b99
Remove deprecated methods from instrumentation-api and library instrumentations ( #5575 )
2022-03-15 09:33:48 +09:00
Mateusz Rzeszutek
f6cca58f1f
Deprecate CapturedHttpHeaders and replace it with builder methods ( #5533 )
2022-03-09 12:21:32 -08:00
Mateusz Rzeszutek
4a98dae431
Add builders for setting optional attributes on HTTP extractors ( #5347 )
...
* Add builders for setting optional attributes on HTTP extractors
* errorprone
* fix compilation failure
2022-03-08 17:21:14 +01:00
Mateusz Rzeszutek
551418c283
Refactor AttributesExtractor so that it extracts route from Context ( #5288 )
...
* Refactor AttributesExtractor so that it extracts route from Context
* typo
* fix tests
* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/http/HttpRouteHolder.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
* fix all AttributesExtractors
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-02-08 10:38:41 +01:00
Mateusz Rzeszutek
8b767ac435
Refactor HTTP attributes extractors to use composition over inheritance ( #5267 )
...
* Refactor HTTP attributes extractors to use composition over inheritance
* Rename remaining variables: *Extractor to *Getter
2022-01-31 09:25:27 -08:00
jason plumb
c5c0a2bcdf
NetClientAttributesAdapter - favor composition over inheritance ( #5030 )
...
* first pass at separating NetAttributesAdapter interface and make NetClientAttributesExtractor concrete
* rename the implementations extractor -> adapter
* hide constructor and make factory method
* rename to client and add javadoc
* spotless
* finish javadoc thought
* rebase
* renamed NetClientAttributesAdapter to NetClientAttributesGetter
* fix lettuce
* code review comments
* code review comments -- renaming for consistency
* adapter -> getter
* fix ratpack
* adapter -> getter
2022-01-20 10:51:13 -08:00
Zane XiaoYe
cd863f6726
update the documentation ( #4834 )
...
the `filter` method does not compile in this example, use `filters` instead of `filter`.
2021-12-07 20:40:30 -08:00
Trask Stalnaker
ea7588cd15
Update references to master branch ( #4706 )
2021-11-24 13:11:21 -08:00
Mateusz Rzeszutek
270c4b4e12
Migrate Spring Webflux HTTP client instrumentation to Instrumenter API ( #4517 )
...
* Migrate Spring Webflux HTTP client instrumentation to Instrumenter API
* Update instrumentation/spring/spring-webflux-5.0/library/src/main/java/io/opentelemetry/instrumentation/spring/webflux/client/SpringWebfluxHttpAttributesExtractor.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-27 12:52:02 -07:00
Nikita Salnikov-Tarnovski
8ea59f0846
Rename all InjectAdapters to Setters ( #4489 )
...
* Rename all InjectAdapters to Setters
* Errorprone fixes
* Make setter public
2021-10-25 12:36:59 -07:00
Mateusz Rzeszutek
5c71d28ed7
Remove deprecated Config methods ( #3908 )
2021-08-23 16:44:54 -07:00
Mateusz Rzeszutek
15ed01d4fc
Change all instrumentation names to io.opentelemetry.{libName}-{libVersion} ( #3411 )
...
* Change all instrumentation names to io.opentelemetry.{libName}-{libVersion}
* minumum supported version
2021-06-30 15:34:36 +02:00
Anuraag Agrawal
761b9c280b
Migrate instrumentation gradle files to kotlin ( #3414 )
...
* Migrate instrumentation gradle files to kotlin
* Convert
* Muzzle
2021-06-28 17:27:12 +09:00
Anuraag Agrawal
785dc6adf2
Rename build files to build.gradle ( #3409 )
...
* Rename build files to build.gradle
* Rename smoke-tests
* Fix already broken
2021-06-25 16:10:31 +09:00
Anuraag Agrawal
deb0e255cf
Use plugins block everywhere for applying plugins ( #3386 )
...
* Use plugins block everywhere for applying plugins
* Actually it's library instrumentation
2021-06-24 11:13:35 +09:00
Anuraag Agrawal
b7bfbf0cc6
Migrate instrumentation-library / common to plugins ( #3320 )
2021-06-15 11:54:48 -07:00
Anuraag Agrawal
ed88cca533
Migrate from spotbugs to errorprone ( #3122 )
...
* Migrate from spotbugs to errorprone
* Fix hashtable
* try-with-resources
* Fix from merge
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-05-28 14:23:40 -07:00
Anuraag Agrawal
fe41885ee6
Switch to colon notation for dependencies. ( #2994 )
...
* Switch to colon notation for dependencies.
* Even more cleanup
* Revert mistake
2021-05-15 15:31:06 +09:00
Trask Stalnaker
2ab92f556e
Fix duplicate http client tracing headers ( #2842 )
...
* Fix duplicate spring webclient tracing headers
* Fix Akka Http
* Fix Armeria
* Fix Java 11 Http Client
* Fix OkHttp 2.2
* Fix PlayWS
2021-04-23 13:05:10 -07:00
Trask Stalnaker
b062e38117
Pass OpenTelemetry instance to WebFlux lib tracer ( #2730 )
2021-04-06 08:52:27 +03:00
Trask Stalnaker
d5e526b9f3
Cache config values in instrumentations ( #2681 )
...
* Cache config values in instrumentations
* Bring back defaultEnabled()
* comment
* one problem
2021-03-31 22:54:20 -07:00
Trask Stalnaker
0d11dbe565
Fix webflux client filter subscribe ( #2646 )
...
* Fix webflux client filter subscribe
* Add test
* Fix test
* Fix test, take 2
* Fix another test
* Suppress test for another module
* Suppress another library instrumentation
* Another
* Add nested client suppression in Armeria
* Add comments
* Revert extra line
2021-03-31 07:54:41 +03: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
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
Trask Stalnaker
62f2611486
Update instrumentation names ( #2433 )
2021-03-01 19:34:25 -08: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
Trask Stalnaker
8235b345eb
Hide spring non-spec'd attributes behind flag ( #1906 )
...
* Hide spring non-spec'd attributes behind flag
* Spotless
* Don't cache configuration :(
2020-12-15 08:50:00 +02:00
Trask Stalnaker
fa09451aea
Prefix custom attributes with instrumentation name ( #1784 )
2020-12-03 20:56:31 -08:00