Skip to content
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

Revise an observation propagation for persisntent message channels #9001

Closed
artembilan opened this issue Mar 15, 2024 · 0 comments
Closed

Revise an observation propagation for persisntent message channels #9001

artembilan opened this issue Mar 15, 2024 · 0 comments

Comments

@artembilan
Copy link
Member

See more info in: micrometer-metrics/tracing#612.

We cannot store the message with an Observation into database since that one is not Serializable and it cannot be.

We have to revise the logic of the propagation to something like MessageSenderContext and MessageReceiverContext on respective sides of the MessageChannel implementation.
The sender part is already supported as is when we enable an Observation on the channel.
The receiver side is missed so far.
We definitely have to start a new observation on the receiver side since it can be not only in a different thread, but fully different application instance.
And sender observation will be closed any way when that thread finishes its work after storing message into DB.

@artembilan artembilan added type: enhancement status: waiting-for-triage The issue need to be evaluated and its future decided in: core and removed status: waiting-for-triage The issue need to be evaluated and its future decided labels Mar 15, 2024
@artembilan artembilan added this to the 6.3.x milestone Mar 15, 2024
@artembilan artembilan modified the milestones: 6.3.x, 6.3.0-M2 Mar 18, 2024
artembilan added a commit that referenced this issue Mar 18, 2024
Fixes: #9001

The `ObservationPropagationChannelInterceptor` does not propagate an observation properly.
And it fully cannot when the message channel is persistent.

* Deprecate `ObservationPropagationChannelInterceptor` in favor of enabled observation on the channel
and target `MessageHandler` which is a consumer of this channel.
* Remove tests with an `ObservationPropagationChannelInterceptor`
* Mention a correct behavior in the `metrics.adoc` and `ObservationPropagationChannelInterceptor` Javadocs
artembilan added a commit that referenced this issue Mar 18, 2024
Fixes: #9001

The `ObservationPropagationChannelInterceptor` does not propagate an observation properly.
And it fully cannot when the message channel is persistent.

* Deprecate `ObservationPropagationChannelInterceptor` in favor of enabled observation on the channel
and target `MessageHandler` which is a consumer of this channel.
* Remove tests with an `ObservationPropagationChannelInterceptor`
* Mention a correct behavior in the `metrics.adoc` and `ObservationPropagationChannelInterceptor` Javadocs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants