Gregor Zeitlinger
798bdd5569
config properties support for spring starter clients ( #11605 )
2024-07-02 16:49:39 +03:00
Lauri Tulmin
9efbec6fd5
Replace messaging.kafka.destination.partition with messaging.destination.partition.id ( #11086 )
2024-04-11 09:16:50 +03:00
SylvainJuge
955470a63a
Semconv 1.25.0 migration ( #10983 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-04-09 11:25:52 -07:00
Lauri Tulmin
afa3207e87
Fix spring kafka context leak when batch listener is retried ( #10741 )
2024-03-12 14:03:29 +02:00
Lauri Tulmin
b57c1a023b
Update semconv ( #10272 )
2024-01-30 17:10:35 +00:00
Lauri Tulmin
6313391d71
Rewrite @Advice.Enter for indy advice ( #9887 )
2023-11-17 07:49:19 -08:00
Lauri Tulmin
70e3962a87
Always set messaging operation ( #9791 )
2023-11-06 12:30:27 +02:00
Lauri Tulmin
7d2259742a
Transform inline advice to delegating advice and test indy modules ( #9508 )
2023-09-22 11:15:39 +03:00
Trask Stalnaker
3b77cc4b2d
Semconv 1.21 ( #9408 )
...
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-09-13 19:20:23 +00:00
jason plumb
55368a52d7
Rename messaging operation "send" to "publish" per spec ( #8929 )
...
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-07-12 08:59:38 -07:00
OpenTelemetry Bot
bbb05276be
Update the OpenTelemetry SDK version to 1.27.0 ( #8688 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Lauri Tulmin <ltulmin@splunk.com>
2023-06-13 12:02:11 +03:00
Lauri Tulmin
85c541ef92
Implement kafka client id and consumer id attributes ( #7860 )
...
Resolves
https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/7771
Adds `messaging.consumer_id` and `messaging.kafka.client_id` attributes
to kafka spans.
2023-02-21 07:31:28 -08:00
Mateusz Rzeszutek
12ea869855
Implement `messaging.kafka.*` attributes spec (part 1) ( #7824 )
...
Part 1 of #7771
It's a lot more than I initially expected it to be; I'll introduce the
clientId attribute in part 2
2023-02-16 13:22:17 -08:00
OpenTelemetry Bot
f074b93110
Update the OpenTelemetry SDK version to 1.23.0 ( #7800 )
...
Update the OpenTelemetry SDK version to `1.23.0`.
---------
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2023-02-13 20:22:09 +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
30de9ff266
Disable internal TaskScheduler spans in Spring Kafka instrumentation ( #7553 )
...
Resolves #7511
I used the same pattern we already have for suppressing the wrapping of
the Kafka consumer records lists.
2023-01-11 17:19:43 -08:00
Mateusz Rzeszutek
ebb0141032
Populate `messaging.kafka.message.offset` in all kafka instrumentations ( #7374 )
2022-12-09 17:13:31 -08:00
Mateusz Rzeszutek
69938b3f79
Support Spring Kafka 3 ( #7271 )
...
Fixes #7265
I took a look at the new Observation API, and I think that it still
makes sense to continue using the interceptors to implement this
instrumentation: they implement the OTel spec (which includes way more
attributes than the default observation convention implemented in
Spring), and cooperate with the Kafka client instrumentation and link
the receive and process spans together. And it's quite a simple change
in one of our interceptors, instead of rewriting everything.
(Draft because Spring Boot 3 hasn't released yet, and it is required to
run the tests. If we're not in a hurry this PR can wait a bit for that)
2022-11-29 12:07:57 +02:00
Trask Stalnaker
93175522d4
Rename kafka propagation setting and clarify behavior ( #6957 )
2022-10-24 08:49:48 -07:00
Mateusz Rzeszutek
5bc7abf178
Spring Kafka library instrumentation ( #6283 )
...
* Spring Kafka library instrumentation
* Merge and fix prior merge
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-07-18 14:38:44 -07:00
Mateusz Rzeszutek
7bbe918008
InstrumentationConfig part 2 ( #6292 )
2022-07-11 09:47:19 +02:00
Mateusz Rzeszutek
e7887ac929
Idea: deprecate `Config`, add agent-only `InstrumentationConfig` ( #6264 )
...
* Idea: deprecate Config, add agent-only InstrumentationConfig
* fix
* fix camel test
* fix external-annotation tests
2022-07-08 16:20:49 +02:00
Mateusz Rzeszutek
6a0ca530b7
Instrumentation API changes: VirtualField ( #6017 )
...
* Instrumentation API changes: VirtualField
* change class name in string constant
2022-05-12 11:17:24 -07:00
Mateusz Rzeszutek
2fad192fc1
Implement vertx-kafka-client instrumentation; batch processing ( #5982 )
...
* Implement vertx-kafka-client instrumentation; batch processing
* try-finally just in case
* Add to supported libraries list
* Update instrumentation/vertx/vertx-kafka-client-3.6/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/vertx/kafka/v3_6/InstrumentedBatchRecordsHandler.java
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-05-10 12:00:54 +02:00
Mateusz Rzeszutek
802f5aa3ea
Instrumentation API and Javadoc cleanup ( #5954 )
2022-05-09 22:13:45 -07:00
Mateusz Rzeszutek
1345a6665e
Test spring-kafka instrumentation with receive telemetry disabled ( #5913 )
...
* Test spring-kafka instrumentation with receive telemetry disabled
* checkstyle and code review comment
2022-04-25 15:56:55 +02:00
Mateusz Rzeszutek
7d5555432c
Refactor KafkaInstrumenterFactory a bit ( #5911 )
2022-04-22 08:34:26 -07:00
Mateusz Rzeszutek
28825724db
Spring-kafka single record instrumentation ( #5904 )
2022-04-21 14:42:49 -07:00
Trask Stalnaker
793cc7d759
Limit problems from kafka iterator instrumentation thread context leak ( #5826 )
...
* Limit problems from kafka iterator instrumentation thread context leak
* spring-kafka
* no system out
2022-04-14 18:00:23 -07:00
Lauri Tulmin
2b7fe695b9
Flaky spring kafka batch test ( #5740 )
...
* Flaky spring kafka batch test
* Update instrumentation/spring/spring-kafka-2.7/javaagent/src/test/groovy/SpringKafkaInstrumentationTest.groovy
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
Co-authored-by: Mateusz Rzeszutek <mrzeszutek@splunk.com>
2022-04-04 11:49:19 -07:00
Mateusz Rzeszutek
f0bdce973e
Split out MessagingAttributesGetter ( #5626 )
2022-03-18 11:52:23 -07:00
Lauri Tulmin
c7f9715f34
Wait for kafka to start ( #5341 )
2022-02-10 09:55:49 -08:00
Mateusz Rzeszutek
4f29770f73
Remove old TraceUtils and use InstrumentationTestRunner#run*Span() (almost) everywhere ( #5160 )
...
* Remove old TraceUtils and use InstrumentationTestRunner#run*Span() (almost) everywhere
* Fix HTTP server tests
* Fix compilation failure
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-18 13:42:53 -08:00
Anuraag Agrawal
bdd82a899e
Parameterize VirtualField field type ( #5165 )
...
Co-authored-by: Trask Stalnaker <trask.stalnaker@gmail.com>
2022-01-18 13:42:44 -08:00
Trask Stalnaker
31fddb7afd
Propagate Context instead of SpanContext ( #4806 )
...
* Propagate Context instead of SpanContext
* Update spring-kafka
* Fix nesting
* Comment
2021-12-06 09:31:53 -08:00
Trask Stalnaker
ce4cef76f9
Clean up groovy assertions ( #4805 )
2021-12-05 23:23:58 -08:00
Trask Stalnaker
6c98ba6b2b
Fix spring-kafka latest dep tests ( #4676 )
2021-11-19 13:12:18 -08:00
Nikita Salnikov-Tarnovski
e7b8cca107
Convert TextMapSetters and TextMapGetters to enums ( #4522 )
...
* Convert TextMapSetters to enums
* Convert TextMapGetters to enums
2021-11-08 22:01:40 +02:00
Martin
d314d76fce
rename `newBuilder()` to `builder()` ( #4475 )
...
* rename `newBuilder()` to `builder()`
* rename `newBuilder()` to `builder()`
2021-10-22 20:50:43 -07:00
Martin
ac91dc090a
Type annotation placement ( #4406 )
...
* switch annotation `org.checkerframework.checker.nullness.qual.Nullable` to `javax.annotation.Nullable`
* code format
2021-10-17 17:38:43 -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
300e7dab7e
Move all Kafka library instrumenter parts to internal package ( #4284 )
2021-10-04 19:03:15 +02: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
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
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
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
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