Is your feature request related to a problem? Please describe.
The Deliver method of RabbitMQActivitySource accepts IReadOnlyBasicProperties as input. This allows the MessageId, if provided, to be added as a tag (span attribute) in the PopulateMessagingTags method:
if (!string.IsNullOrEmpty(readOnlyBasicProperties.MessageId))
{
activity.SetTag(MessageId, readOnlyBasicProperties.MessageId);
}
However, the BasicPublish method currently doesn't accept IReadOnlyBasicProperties as input, so MessageId can't be included.
Having MessageId as a tag in both the "publish" and "deliver" trace spans will allow users to be able to find traces - both from the publisher and consumer perspective - if they know the MessageId, which could theoretically be obtained from application logs, an audit table, etc.
Describe the solution you'd like
I'd like to update the RabbitMQActivitySource.BasicPublish method to allow for IReadOnlyBasicProperties to be passed in as an additional parameter. That would allow the IReadOnlyBasicProperties to then be passed along to the PopulateMessagingTags method, which would add the MessageId as a tag.
Describe alternatives you've considered
No response
Additional context
No response
Is your feature request related to a problem? Please describe.
The
Delivermethod ofRabbitMQActivitySourceacceptsIReadOnlyBasicPropertiesas input. This allows theMessageId, if provided, to be added as a tag (span attribute) in thePopulateMessagingTagsmethod:However, the
BasicPublishmethod currently doesn't acceptIReadOnlyBasicPropertiesas input, soMessageIdcan't be included.Having
MessageIdas a tag in both the "publish" and "deliver" trace spans will allow users to be able to find traces - both from the publisher and consumer perspective - if they know theMessageId, which could theoretically be obtained from application logs, an audit table, etc.Describe the solution you'd like
I'd like to update the
RabbitMQActivitySource.BasicPublishmethod to allow forIReadOnlyBasicPropertiesto be passed in as an additional parameter. That would allow theIReadOnlyBasicPropertiesto then be passed along to thePopulateMessagingTagsmethod, which would add theMessageIdas a tag.Describe alternatives you've considered
No response
Additional context
No response