AZ-204 practice question 14 of 35

You are developing an ASP.NET Core Web API web service. The web service uses Azure Application Insights for all telemetry and dependency tracking…

Full set: 489 questions

Domain Monitor, troubleshoot, and optimize Azure solutions

You are developing an ASP.NET Core Web API web service. The web service uses Azure Application Insights for all telemetry and dependency tracking. The web service reads and writes data to a database other than Microsoft SQL Server. You need to ensure that dependency tracking works for calls to the third-party database. Which two Dependency Telemetry properties should you store in the database? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.
Answer options
A: Telemetry.Context.Operation.Id Correct answer
B: Tetemetry.Context.Cloud.Rolelnstance
C: Telemetry.Id Correct answer
D: Telemetry.ContextSession.Id
E: Telemetry.Name
Correct Answer:
A. Telemetry.Context.Operation.Id; C. Telemetry.Id
Explanation

To enable end-to-end dependency tracking in Azure Application Insights, especially for custom or non-standard dependencies, a correlation context must be passed from the caller to the callee. The Telemetry.Context.Operation.Id acts as the unique identifier for the entire end-to-end transaction, linking the initial request in the web service to all subsequent operations, including the database call. The Telemetry.Id of the dependency call itself is a unique identifier for that specific outbound request. The downstream service (the database, if instrumented) would use this Id as its ParentId to establish a direct causal link. Propagating these two identifiers allows Application Insights to correctly visualize the entire operation as a single, correlated transaction map.

Why Incorrect

B. Telemetry.Context.Cloud.RoleInstance: This property identifies the specific application instance (e.g., a VM or container) that generated the telemetry, not the transaction itself.
D. Telemetry.Context.Session.Id: This is used to correlate telemetry events within a single user session, which is primarily relevant for client-side monitoring, not for back-end service-to-service calls.
E. Telemetry.Name: This is a human-readable name for the telemetry item (e.g., the SQL command text or HTTP method/URL). It is not a unique identifier used for correlation. ---

References

1. Microsoft Docs, "Telemetry correlation in Application Insights": This document explains the data model for correlation. It states, "Application Insights uses a data model to correlate telemetry... Every telemetry item has a Context property... Operation.Id is used for correlation... Distributed tracing is based on a pair of Id of the item that caused the operation and ParentId that connects them." This confirms the roles of Operation.Id for the overall transaction and the item's Id for the parent-child link.

Reference: Microsoft Corporation. (n.d.). Telemetry correlation in Application Insights. Microsoft Docs. Retrieved from https://docs.microsoft.com/en-us/azure/azure-monitor/app/correlation#telemetry-correlation-in-the-net-sdk, Section: "Telemetry correlation in the .NET SDK".

2. Microsoft Docs, "Track custom operations with Application Insights .NET SDK": This guide details manual instrumentation. It shows that when you create a DependencyTelemetry object, it gets a unique Id. The documentation on correlation protocols explains that this Id must be propagated to the called component, which then uses it as its ParentId. The Operation.Id is also propagated to link all parts of the transaction.

Reference: Microsoft Corporation. (n.d.). Track custom operations with Application Insights .NET SDK. Microsoft Docs. Retrieved from https://docs.microsoft.com/en-us/azure/azure-monitor/app/custom-operations-tracking, Section: "Correlation".

Scroll to Top