# Spring Integration

<!-- llms-txt-link: /llms.txt -->

> OpenTelemetry Java agent instrumentation

This instrumentation enables producer and consumer messaging spans for Spring Integration.

- **Name**: `spring-integration-4.1`
- **Scope**: `io.opentelemetry.spring-integration-4.1`
- **Target versions**: `org.springframework.integration:spring-integration-core:[4.1.0.RELEASE,)`
- **Library**: https://spring.io/projects/spring-integration

## Telemetry

- **Span attributes**: `messaging.operation`

## Configuration

| Option | Type | Default | Description |
| --- | --- | --- | --- |
| `otel.instrumentation.messaging.experimental.capture-headers` | list |  | A comma-separated list of header names to capture as span attributes. |
| `otel.instrumentation.spring-integration.global-channel-interceptor-patterns` | list | * | A list of Spring channel name patterns that will be intercepted. |
| `otel.instrumentation.spring-integration.producer.enabled` | boolean | false | 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`. |

## Data

- **JSON**: [/data/javaagent/instrumentations/spring-integration-4.1/spring-integration-4.1-cd23bca3627e.json](/data/javaagent/instrumentations/spring-integration-4.1/spring-integration-4.1-cd23bca3627e.json)
- **Explore**: [/java-agent/instrumentation/spring-integration-4.1](/java-agent/instrumentation/spring-integration-4.1)
