Added DeliverAt to message header for auditing and metrics #6261
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is related to:
Currently, critical time in NServiceBus.Metrics and ServiceControl is being calculated based on the
TimeSent
header in a message. However, this does not take into account that there could be a delayed delivery set for a message, which can cause the critical time that is displayed in ServicePulse to appear inaccurate especially for messages that could be set far into the future. Critical time should be measured as the time between when a message should be delivered to an endpoint and when the message is finished processing.This PR adds
DeliverAt
to the header of a message. TheDeliverAt
value is calculated by either taking theTimeSent
value and adding theDelayDeliveryWith
time span or settingDeliverAt
to the value ofDoNotDeliverBefore
DateTimeOffset.