Skip to content

Application Insights Dependency Logging setting incorrect parentId for Blob storage calls from Storage SDK #1915

@jegour

Description

@jegour

Describe your environment. Describe any aspect of your environment relevant to the problem:
Azure Service Fabric application in ASP.NET Core 3.1 running the Application Insights C# telemetry collection SDK.

  • SDK version: Microsoft.ApplicationInsights.AspNetCore 2.14.0
  • .NET runtime version (.NET or .NET Core, TargetFramework in the .csproj file): .NET Core 3.1
  • Hosting Info (IIS/Azure WebApps/etc): Azure Service Fabric
  • Platform and OS version: Windows 10

If you're reporting a problem with a specific version of a library in this repo, please check whether the problem has been fixed on master.

Steps to reproduce.
Use the the newest 12.4 version of Azure.Storage.Blob client SDK to interact with Azure Blob.

What is the expected behavior?
The operation_parentId value generated for each dependency log statement corresponding to each blob client call should match the id value of the requests log statement corresponding to the request from which the Blob calls were made.

What is the actual behavior?
The operation_parentId value does not correspond to any value present in the requests logs. Not only that but sequential blob client calls do not even have the same operation_parentId value. This results in the blob calls not being put in the appropriate place in the distributed trace view.

Additional context.
This works as expected with version 11 of the storage library. We saw this issue occur once we updated to version 12. I have already filed an issue with the Storage SDK, and they pointed me to the Application Insights as where the issue must originate (see Azure/azure-sdk-for-net#12511).

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions