Commit Graph

272 Commits

Author SHA1 Message Date
Mateusz Rzeszutek f80f4a9f63
Allow configuring captured HTTP headers in library instrumentations (#4309) 2021-10-06 13:32:39 +02:00
Mateusz Rzeszutek d3dbe415a1
Move HttpHeadersConfig methods back to instrumentation-api (#4298)
* Move HttpHeadersConfig methods back to instrumentation-api

* remove unnecessary method
2021-10-06 10:51:45 +02:00
Mateusz Rzeszutek 7791be24e0
Remove implementations of host() and userAgent() in HTTP extractors (#4299)
* Remove implementations of host() and userAgent() in HTTP extractors

* fix broken headers copying
2021-10-05 10:25:45 -07:00
Lauri Tulmin 0cfc71c3c6
Support kafka streams 3 (#4236)
* Support kafka streams 3

* make thread local wider so it would work on all kafka-streams versions

* Move classes used by multiple instrumentations into bootstrap module to ensure that everybody uses the same copy of them

* spotless

* allow project as muzzle extra dependency

* add comment

* fix merge
2021-10-05 09:43:00 -07:00
Mateusz Rzeszutek 7473eff1e6
Extract HTTP request/response headers as span attributes (#4237)
* Extract HTTP request/response headers as span attributes

* fix muzzle

* code review comments

* fix compilation failure after merge conflict

* avoid using streams API when transforming the headers list

* fix liberty extractor

* fix spring webmvc extractor
2021-10-05 10:20:59 +02:00
Trask Stalnaker dafc97f96e
Simplify gradle files (#4292) 2021-10-04 21:53:35 -07:00
Mateusz Rzeszutek 300e7dab7e
Move all Kafka library instrumenter parts to internal package (#4284) 2021-10-04 19:03:15 +02:00
Trask Stalnaker 506ae2b894
Flavor extractor (#4274) 2021-10-04 09:23:58 -07:00
Trask Stalnaker 92394ad9ae
Remove url from HttpServerAttributesExtractor (#4209)
* Remove url from HttpServerAttributesExtractor

* Remove UriBuilder

* Tracers too

* apache-camel

* Finatra

* jsp

* Ratpack

* Ratpack library

* Ratpack

* Spark

* Feedback

* Fix Undertow

* Vertx

* vertx-web

* play-2.4

* webflux

* jaxrs

* Spotless

* Update semantic-conventions.md

* Update smoke tests

* More realistic target

* Remove outdated doc

* Wording
2021-10-03 09:17:23 -07:00
Mateusz Rzeszutek 07ca690f8e
Convert Spring Web MVC library instrumentation to Instrumenter API (#4258)
* Convert Spring Web MVC library instrumentation to Instrumenter API

* Apply suggestions from code review

Co-authored-by: Lauri Tulmin <tulmin@gmail.com>

* improve the README a bit

* StatusCodeExtractor

Co-authored-by: Lauri Tulmin <tulmin@gmail.com>
2021-10-02 11:41:27 -07:00
Aleš Justin ff0bf0a8f3
Add support for Kafka consumer and producer interceptors. (#4065)
* Add support for Kafka consumer and producer interceptors, move common Kafka code to library module.

* Apply feedback

* Apply feedback, #3.

* Apply feedback, #4.

* Add producer / consumer wrappers.

* Move to kafka-clients-2.6.

* Apply feedback #5.

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-10-02 11:27:57 -07:00
Mateusz Rzeszutek c11b96e4d0
Make it possible to use InstrumentationContext (now VirtualField) fro… (#4218)
* Make it possible to use InstrumentationContext (now VirtualField) from library instrumentation

* fix tests

* fix javadocs

* fix some more tests

* code review comments

* setIfNull, computeIfNull
2021-10-01 11:13:11 +02:00
HyunGook-Kim cf85fbb275
chore typo in gradle implementation package name (#4250)
change ```opentelemetry-exporters``` to ```opentelemetry-exporter```
2021-09-30 10:34:50 +09:00
Trask Stalnaker 9ea33edf08
Remove attrs from http client attributes extractor (#4210)
* Remove scheme/host/target from HttpClientAttributesExtractor

* And jaxrs-client

* Remove unused methods
2021-09-28 12:58:42 -07:00
Mateusz Rzeszutek a277a8b636
Separate HTTP client/server AttributesExtractors (#4195) 2021-09-24 10:06:23 -07:00
Lauri Tulmin 559cdcbbee
Transform lambda classes (#4182)
* Transform lambda classes

* improve comment
2021-09-24 09:52:15 -07:00
Christian Frommeyer ae7ad4b7e8
Fix spring context reload issue (open-telemetry#3841) (#4051)
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-24 15:59:48 +03:00
Mateusz Rzeszutek 085066edb3
Add some testcontainers dependencies to dependencyManagement dep set (#4185) 2021-09-22 14:53:45 -07:00
Lauri Tulmin de6c9087fc
Remove reference to bintray in spring doc (#4139) 2021-09-16 10:18:20 -07:00
Mateusz Rzeszutek 836491ef5f
Make CONSUMER receive span a parent of CONSUMER process spans in Kafka… (#4122)
* Make CONSUMER receive span a parent of CONSUMER process spans in Kafka instrumentations

* Fix kafka-streams tests

* fixed imports order
2021-09-15 10:39:56 -07:00
Matthew Ho 6967484a97
Update groovy import order to match default IntelliJ (#1708) (#4047)
* Update groovy import order to match default IntelliJ (#1708)

* organized imports for .groovy files to follow default IntelliJ import settings

* updated intellij-setup.md

* Spotless

* drift

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-11 11:53:08 -07:00
Mateusz Rzeszutek 05d1a4a54f
Separate suppression strategies for CONSUMER receive/process spans (#4076)
* Separate suppression strategies for CONSUMER receive/process spans

* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/SpanKeyExtractor.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* spotless

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-09-10 10:55:50 -07:00
Trask Stalnaker c13eb7932e
Update collector port (#4071) 2021-09-08 18:18:05 -07:00
Mateusz Rzeszutek e30b082259
Start a CONSUMER span for Kafka poll(); and refactor spring-kafka... (#4041)
* Start a separate CONSUMER receive span for each non-empty KafkaConsumer#poll() call

* One batch receive + one batch process span in spring-kafka

* Add CONSUMER receive spans to kafka-streams too

* codenarc

* code review comments
2021-09-08 13:12:58 -07:00
Mateusz Rzeszutek 4820ec4855
Add error parameter to EndTimeExtractor and AttributesExtractor#onEnd() (#3988) 2021-09-08 07:58:13 -07:00
Trask Stalnaker 400d99467a
Follow http.client_ip spec clarification (#4063) 2021-09-08 07:54:59 -07:00
jack-berg 4e221d6e4c
Transition spring batch 3.0 module to Instrumenter API (#4029)
* Convert spring-batch-3.0 step execution instrumentation to Instrumenter API

* Convert spring-batch-3.0 job execution instrumentation to Instrumenter API

* Convert spring-batch-3.0 chunk execution instrumentation to Instrumenter API

* Convert spring-batch-3.0 item instrumentation to Instrumenter API

* Fix rebase issue.

* Respond to PR feedback.

* Respond to PR comments.
2021-09-07 15:13:55 -07:00
Trask Stalnaker 65335962de
Remove capturing lambda (optimization) (#4014)
* Remove capturing lambda

* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/ServerSpanNameSupplier.java

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/servlet/ServerSpanNameTwoArgSupplier.java

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* Update instrumentation/jsf/jsf-common/library/src/main/java/io/opentelemetry/instrumentation/jsf/JsfServerSpanNaming.java

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>

* checkstyle

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-08-30 20:26:00 -07:00
Mateusz Rzeszutek 01ea967d67
Use kafka transactions to make spring-kafka tests more stable (#4024)
* Use kafka transactions to make spring-kafka tests more stable

* manual acks

* another approach: batch error handler that immediately recovers

* another try

* yet another try

* do nothing error handler

* spotless
2021-08-30 15:04:16 -07:00
Trask Stalnaker 436aeaf99a
Another ClassValue optimization (#4013)
* Another ClassValue optimization

* Spotless
2021-08-30 09:02:59 -07:00
jack-berg 789c92d79e
Transition spring-scheduling-3.1 to instrumenter API (#3993) 2021-08-30 09:01:43 -07:00
jack-berg 0c5a67167a
Transition spring-data-1.8 module to instrumenter API (#3991) 2021-08-30 09:01:37 -07:00
Mateusz Rzeszutek 4567bc0c2f
Instrument spring-kafka batch message listeners (#3922)
* Instrument spring-kafka batch message listeners

* Update instrumentation-api/src/main/java/io/opentelemetry/instrumentation/api/instrumenter/InstrumenterBuilder.java

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>

* fix compilation failure

* Suppress nested CONSUMER spans

Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2021-08-27 08:02:37 -07:00
Mateusz Rzeszutek ab9c688e7a
Test nested CLIENT span suppression in library instrumentations (#3970) 2021-08-27 11:16:59 +02:00
Trask Stalnaker 38d5c39579
Remove invalid message header (#3958) 2021-08-26 08:53:21 -07:00
Trask Stalnaker 6f22d90aa6
Option to suppress controller and view spans (#3865)
* Add option to suppress controller and view spans

* Apply to all existing Instrumenters

* Introduce ExperimentalConfig

* Singleton?

* No need for lazy
2021-08-25 13:43:38 -07:00
Trask Stalnaker 20c72f3e98
Format kotlin gradle files (#3942)
* Add ktlint for kotlinGradle

* ktlint fails on wildcard imports

* Auto-format kotlin gradle files
2021-08-25 13:43:57 +09:00
Mateusz Rzeszutek 5c71d28ed7
Remove deprecated Config methods (#3908) 2021-08-23 16:44:54 -07:00
Lauri Tulmin 38c8f8940c
Move helper class to spring package so that loadClass can find it (#3718)
* Move helper class to spring package so that loadClass can find it

* spotless

* Add tests

* Add comments

* remove unneeded dependency

* comments
2021-08-20 12:31:25 -07:00
Trask Stalnaker 31f22eb4f7
Use valid Java identifiers for message keys (#3863) 2021-08-19 16:55:29 -07:00
Lauri Tulmin 7a705d861e
Move SpringRestTemplateTest (#3870) 2021-08-19 12:58:24 +03:00
Lauri Tulmin c74853274d
Remove Nullable from methods that return non-null value (#3843) 2021-08-14 09:29:23 -07:00
Lauri Tulmin 6ad277c659
Check scope for null before closing it (#3836) 2021-08-13 16:39:28 -07:00
Trask Stalnaker 84e9d188af
Update webflux to Instrumenter API (and improvements/simplifications) (#3798)
* Update Webflux to Instrumenter API

* Change webflux handler to match other handlers

* Further simplification

* Fix Mono failure tests

* Use extractors!

* Renames

* Fix comment

* Update instrumentation/spring/spring-webflux-5.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/spring/webflux/server/AdviceUtils.java

Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2021-08-13 09:03:50 -07:00
Lauri Tulmin 8c89420753
Skip bad spring-rabbit version (#3829) 2021-08-12 08:57:28 -07:00
Trask Stalnaker da55d98a87
Simplify webflux mono handling (#3816) 2021-08-12 08:54:26 -07:00
Lauri Tulmin f4e6baf22d
Make spring webflux tests pass with strict context check (#3811)
* Make spring webflux tests pass with strict context check

* Add comment
2021-08-11 06:51:31 -07:00
Mateusz Rzeszutek 92a69c3309
Simplify shouldStart() check for SERVER & CONSUMER spans (#3771) 2021-08-10 21:00:34 -07:00
Lauri Tulmin 3257e18e02
Convert spring-ws-2.0 to instrumenter api (#3801) 2021-08-09 12:23:14 -07:00
Trask Stalnaker bb461e5274
Fix tests on windows (#3360) 2021-08-09 09:23:41 -07:00