Is your feature request related to a problem? Please describe.
Currently, using azure-messaging-servicebus sdk v7.X.X+ with azure-core-tracing-opentelemetry and the app insights 3.0 agent as described in this doc enables auto instrumentation of ServiceBus.message, ServiceBus.send and ServiceBus.process to app insights.
However, whether the processed message gets Dead-lettered or Completed, or Abandoned, the auto instrumented span is the same.
Example of an auto instrumented span for processed ServiceBus message:
Dependency span name: ServiceBus.process
with the following custom dimensions:
| CustomDimensions key |
CustomDimensions value |
| az.namespace |
Microsoft.ServiceBus |
| message_bus.destination |
{topic name}/subscriptions/{subscription name} |
| x-opt-enqueued-time |
{enqueue time} |
Describe the solution you'd like
All different message processing types (Completed, Dead-lettered, Abandoned, Deferred etc.) should be surfaced differently, ideally using a different span name. This would make the experience consistent with the auto-instrumented specs of the dotnet service bus SDK.
E.g. Dependency span name: ServiceBus.complete/ServiceBus.deadLettered
Describe alternatives you've considered
The type of processing could also be in the CustomDimensions
E.g.
| CustomDimensions key |
CustomDimensions value |
| az.namespace |
Microsoft.ServiceBus |
| process_type |
{Completed}/{Dead-lettered} etc |
| message_bus.destination |
{topic name}/subscriptions/{subscription name} |
| x-opt-enqueued-time |
{enqueue time} |
Is your feature request related to a problem? Please describe.
Currently, using
azure-messaging-servicebussdk v7.X.X+ withazure-core-tracing-opentelemetryand the app insights 3.0 agent as described in this doc enables auto instrumentation ofServiceBus.message,ServiceBus.sendandServiceBus.processto app insights.However, whether the processed message gets Dead-lettered or Completed, or Abandoned, the auto instrumented span is the same.
Example of an auto instrumented span for processed ServiceBus message:
Dependency span name:
ServiceBus.processwith the following custom dimensions:
Describe the solution you'd like
All different message processing types (Completed, Dead-lettered, Abandoned, Deferred etc.) should be surfaced differently, ideally using a different span name. This would make the experience consistent with the auto-instrumented specs of the dotnet service bus SDK.
E.g. Dependency span name:
ServiceBus.complete/ServiceBus.deadLetteredDescribe alternatives you've considered
The type of processing could also be in the CustomDimensions
E.g.