You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Add documentation for Observability
* Adapt Observation code to the latest dependencies
* Add doc generation tasks for meters and spans
* Document new Observation API features
* Include generated meters and spans docs to a general `metrics.adoc` chapter
* * Adapt `ObservationPropagationChannelInterceptorTests` for the latest `SpansAssert` API
* * Adjust to the latest Micrometer SNAPSHOT
* Make Observation doc generation tasks only as local.
We don't need ambiguous changes to source code on CI
* * Automate metrics/spans docs generation as a part of `reference` build phase
* Replace 'org.springframework.integration' content in the generated files with a 'o.s.i'
to make it easier to read, especially in the tables
* Break `DefaultMessageReceiverObservationConvention <=> IntegrationObservation` classes tangle
using literal for `KeyValues` in the `DefaultMessageReceiverObservationConvention`
instead of nested enums from the `IntegrationObservation`
* Some other minor build script clean up
* Fix indent in `build.gradle` for `micrometerVersion` property code line
* Add new line after observation section in whats-new.adoc
* * Adapt to the latest Micrometer changes
* * Use Reactor `2022.0.0-SNAPSHOT` version
Copy file name to clipboardExpand all lines: spring-integration-core/src/main/java/org/springframework/integration/support/management/observation/DefaultMessageReceiverObservationConvention.java
+5-3
Original file line number
Diff line number
Diff line change
@@ -36,9 +36,11 @@ public class DefaultMessageReceiverObservationConvention implements MessageRecei
Copy file name to clipboardExpand all lines: spring-integration-core/src/main/java/org/springframework/integration/support/management/observation/IntegrationObservation.java
Copy file name to clipboardExpand all lines: spring-integration-core/src/main/java/org/springframework/integration/support/management/observation/MessageReceiverObservationConvention.java
Copy file name to clipboardExpand all lines: spring-integration-core/src/test/java/org/springframework/integration/channel/interceptor/ObservationPropagationChannelInterceptorTests.java
Copy file name to clipboardExpand all lines: spring-integration-core/src/test/java/org/springframework/integration/support/management/observation/IntegrationObservabilityZipkinTests.java
+3-3
Original file line number
Diff line number
Diff line change
@@ -73,13 +73,13 @@ public SampleTestRunnerConsumer yourCode() {
Starting with version 6.0, Spring Integration utilizes a Micrometer Observation abstraction which can handle metrics as well as https://micrometer.io/docs/tracing[tracing] via appropriate `ObservationHandler` configuration.
152
+
153
+
The observation handling is enabled on the `IntegrationManagement` components whenever an `ObservationRegistry` bean is present in the application context.
154
+
The meters are not gathered in this case independently, but delegated to an appropriate `ObservationHandler` configured on the provided `ObservationRegistry`.
155
+
156
+
An observation production on the `IntegrationManagement` components can be customized via `ObservationConvention` configuration.
157
+
For example an `AbstractMessageHandler` expects a `MessageReceiverObservationConvention` via its `setObservationConvention()` API.
158
+
159
+
The following are supported metrics, spans and conventions for Observation API:
To supply a connected chain of spans in one trace, independently of the nature of the messaging flow, Spring Integration provides an `ObservationPropagationChannelInterceptor` implementation.
170
+
This can be configured on `MessageChannnel` beans individually or as a `@GlobalChannelInterceptor` with respective `MessageChannnel` bean names pattern matching.
171
+
The goal of this interceptor is to propagate an `Observation` from the producer thread to the consumer one independently of the `MessageChannnel` implementation and nature.
172
+
A `DirectChannel`, though, is ignored since its consumer is executed directly on the producer thread.
Copy file name to clipboardExpand all lines: src/reference/asciidoc/whats-new.adoc
+7
Original file line number
Diff line number
Diff line change
@@ -56,6 +56,13 @@ See <<./amqp.adoc#rmq-streams,RabbitMQ Stream Queue Support>> for more informati
56
56
The SFTP modules has been fully reworked from outdated JCraft JSch library to more robust and modern `org.apache.sshd:sshd-sftp` module of the Apache MINA project.
57
57
58
58
See <<./sftp.adoc#sftp,SFTP Adapters>> for more information.
59
+
60
+
[[x6.0-micrometer-observation]]
61
+
==== Micrometer Observation
62
+
63
+
Enabling observation for timers and tracing using Micrometer is now supported.
64
+
See <<./metrics.adoc#micrometer-observation,Micrometer Observation>> for more information.
0 commit comments