-
Notifications
You must be signed in to change notification settings - Fork 1k
Add descriptions and metadata for spring modules #14309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 12 commits
c944d6d
588d2ee
0c767ac
48825d5
7f88ab4
26e44b3
3c5fb5d
cd76a2b
fb81745
eea877c
e1bbe8e
5abc657
7444fda
c313e04
54663f9
cec31de
fb4313e
9207d06
bf5c089
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,9 @@ | ||
| configurations: | ||
| - name: otel.instrumentation.common.experimental.view-telemetry.enabled | ||
| description: Enables experimental view telemetry. | ||
| description: Enables the creation of experimental view (INTERNAL) spans. | ||
| type: boolean | ||
| default: false | ||
| - name: otel.instrumentation.common.experimental.controller-telemetry.enabled | ||
| description: Enables experimental controller telemetry. | ||
| description: Enables the creation of experimental controller (INTERNAL) spans. | ||
| type: boolean | ||
| default: false |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| description: This instrumentation enables Gen AI client spans and metrics for OpenAI Java SDK 1.1+. | ||
| configurations: | ||
| - name: otel.instrumentation.genai.capture-message-content | ||
| type: boolean | ||
| default: false | ||
| description: > | ||
| Enables including the full content of user and assistant messages in emitted log events. | ||
| Note that full content can have data privacy and size concerns, and care should be taken when | ||
| enabling this. |
| Original file line number | Diff line number | Diff line change | ||
|---|---|---|---|---|
|
|
@@ -48,6 +48,10 @@ tasks { | |||
| excludeTestsMatching("*ItemLevelSpanTest") | ||||
| excludeTestsMatching("*CustomSpanEventTest") | ||||
| } | ||||
|
|
||||
| systemProperty("collectMetadata", findProperty("collectMetadata")?.toString() ?: "false") | ||||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this seems repetitive - maybe we can add it to https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/conventions/src/main/kotlin/otel.javaagent-testing.gradle.kts
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. First I need to go through and review all of the module gradle files so that I can tag the resulting telemetry accordingly, based on the configuration flags. Once we have annotated all the test suites, we can remove the individual
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. you could also pass flags like here to indicate which modules support this: Line 12 in dfc79eb
|
||||
| systemProperty("collectSpans", true) | ||||
| systemProperty("metaDataConfig", "otel.instrumentation.spring-batch.experimental-span-attributes=true") | ||||
| } | ||||
|
|
||||
| check { | ||||
|
|
||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,15 @@ | ||
| disabled_by_default: true | ||
| description: This instrumentation enables INTERNAL spans for jobs run by the Spring Batch framework. | ||
| configurations: | ||
| - name: otel.instrumentation.spring-batch.experimental-span-attributes | ||
| type: boolean | ||
| description: Adds the experimental attribute `job.system` to spans. | ||
| default: false | ||
| - name: otel.instrumentation.spring-batch.experimental.chunk.new-trace | ||
| type: boolean | ||
| description: When enabled, a new root span will be created for each chunk processing. Please note that this may lead to a high number of spans being created. | ||
| default: false | ||
| - name: otel.instrumentation.spring-batch.item.enabled | ||
| type: boolean | ||
| description: When enabled, spans will be created for each item processed. Please note that this may lead to a high number of spans being created. | ||
| default: false |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1 +1,4 @@ | ||
| disabled_by_default: true | ||
| description: > | ||
| This instrumentation configures the OpenTelemetry Micrometer bridge to receive metrics from | ||
| Spring Boot Actuator. It does not produce telemetry on its own. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| description: > | ||
| This instrumentation auto-configures OpenTelemetry instrumentation for spring-web, spring-webmvc, | ||
jaydeluca marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| and spring-webflux to instrument Spring Boot applications. It does not produce telemetry on its | ||
| own. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| description: > | ||
| This instrumentation automatically detects the `service.name` and `service.version` for Spring | ||
jaydeluca marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| Boot applications and sets them as resource attributes. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| description: > | ||
| This instrumentation enhances tracing for Spring Cloud AWS. It augments the existing AWS SDK | ||
| instrumentation by providing higher-level tracing for SQS operations, capturing details specific | ||
| to Spring Cloud AWS SQS usage and linking them to the underlying AWS SDK traces. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| description: > | ||
| This instrumentation enhances tracing for Spring Cloud Gateway. It does not generate new telemetry | ||
| on its own, but rather enriches existing traces produced by other instrumentations like Netty and | ||
| Spring WebFlux with Spring Cloud Gateway-specific attributes. | ||
| configurations: | ||
| - name: otel.instrumentation.spring-cloud-gateway.experimental-span-attributes | ||
| type: boolean | ||
| default: false | ||
| description: > | ||
| Enables experimental `spring-cloud-gateway.route` attributes (e.g., | ||
| `spring-cloud-gateway.route.id`, `spring-cloud-gateway.route.uri`, etc.) on spans. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| description: > | ||
| This instrumentation enhances tracing for Spring Cloud Gateway. It does not generate new telemetry | ||
| on its own, but rather enriches existing traces produced by other instrumentations like Netty and | ||
| Spring WebFlux with Spring Cloud Gateway-specific attributes. | ||
| configurations: | ||
| - name: otel.instrumentation.spring-cloud-gateway.experimental-span-attributes | ||
| type: boolean | ||
| default: false | ||
| description: > | ||
| Enables experimental `spring-cloud-gateway.route` attributes (e.g., | ||
| `spring-cloud-gateway.route.id`, `spring-cloud-gateway.route.uri`, etc.) on spans. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| description: > | ||
| This instrumentation ensures proper context propagation for asynchronous operations | ||
| within Spring Core. It modifies how tasks are submitted and executed to ensure that | ||
| spans created by other instrumentations are correctly linked across thread boundaries, | ||
| rather than generating any new telemetry itself. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| description: > | ||
| This instrumentation enhances tracing for Spring Data operations. It works in conjunction | ||
| with other instrumentations, such as JDBC, to provide additional context and details | ||
| for database interactions initiated through Spring Data. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| description: This instrumentation enables PRODUCER and CONSUMER spans for Spring Integration. | ||
| configurations: | ||
| - name: otel.instrumentation.spring-integration.producer.enabled | ||
| type: boolean | ||
| description: > | ||
| Create producer spans when messages are sent to an output channel. Enable when you're using | ||
| a messaging library that doesn't have its own instrumentation for generating producer spans. | ||
| Note that the detection of output channels only works for Spring Cloud Stream `DirectWithAttributesChannel`. | ||
| default: false | ||
| - name: otel.instrumentation.spring-integration.global-channel-interceptor-patterns | ||
| type: list | ||
| description: An array of Spring channel name patterns that will be intercepted. | ||
| default: "*" | ||
| - name: otel.instrumentation.messaging.experimental.capture-headers | ||
| type: list | ||
| description: Allows configuring headers to capture as span attributes. | ||
| default: '' | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| description: This instrumentation enables the generation of CONSUMER spans for Spring JMS. | ||
| configurations: | ||
| - name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled | ||
| description: > | ||
| Enables experimental receive telemetry, which will cause consumers to start a new trace, with | ||
| only a span link connecting it to the producer trace. | ||
| type: boolean | ||
| default: false | ||
| - name: otel.instrumentation.messaging.experimental.capture-headers | ||
| description: A comma-separated list of header names to capture as span attributes. | ||
| type: list | ||
| default: '' |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| description: This instrumentation enables the generation of CONSUMER spans for Spring JMS. | ||
| configurations: | ||
| - name: otel.instrumentation.messaging.experimental.receive-telemetry.enabled | ||
| description: > | ||
| Enables experimental receive telemetry, which will cause consumers to start a new trace, with | ||
| only a span link connecting it to the producer trace. | ||
| type: boolean | ||
| default: false | ||
| - name: otel.instrumentation.messaging.experimental.capture-headers | ||
| description: A comma-separated list of header names to capture as span attributes. | ||
| type: list | ||
| default: '' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we probably want to have a glossary of all config properties like we have for all semantic attributes at some point - to avoid this repetition
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yea, weaver uses references to attributes and other things defined in registries, so I imagine we'll eventually do something similar