Development telemetry tracks how your application behaves and performs while developers are building and testing it. Azure provides two main tools for this: Azure Monitor and Application Insights. Azure Monitor collects data from your cloud and on-premises resources, while Application Insights focuses specifically on how your application code performs. Together, these tools help teams find problems before users encounter them.
KPIs tell you whether your application is working well. Response Time measures how long the app takes to answer a request, which matters most for user experience. Error Rate counts problems that occur over time, so you know when something breaks. Resource Utilization watches CPU, memory, and network usage to prevent slowdowns caused by overloading your servers.
To collect telemetry data, you create a diagnostic setting that sends logs to an Azure Log Analytics workspace where you can query them. You can also use resource-specific logging to tailor what you capture—for example, an AKS cluster can send only the logs that matter for containerized apps. Azure Monitor offers different log collection tiers, so you can save money by using basic logs for data you rarely query and full logs for important diagnostics.
Application Insights is built specifically for monitoring application code. Enabling workspace-based Application Insights gives you better tools for controlling costs. When your app generates too much telemetry data, use sampling to keep only a representative portion while still getting accurate metrics. You can also preaggregate metrics, which combines numbers before sending them to Azure, reducing the amount of data that travels over the network.
Kusto Query Language (KQL) lets you search and analyze the telemetry data that Azure collects. Start your queries with the where operator to filter data early—this makes your query run faster because it processes less information. When searching text, prefer has over contains because has is quicker. If you use the same calculation multiple times in a query, use the materialize() function with a let statement so Azure calculates it once and reuses the result.
Once you have telemetry flowing, create custom metrics and log tables that match your application's specific needs. Run KQL queries regularly to surface performance problems and check whether your build pipelines are stable. Set up alerts that notify your team when telemetry crosses certain thresholds, so you can fix issues before they affect users. This cycle of collecting data, analyzing it, and responding to what you find keeps your application running smoothly.
Seeking the thrill of transformative tech? Explore the art of designing and implementing DevOps solutions on Azure. Master the shift towards CI/CD, testing, and delivery, while preparing for the Designing and Implementing Microsoft DevOps Solutions exam!
Prepare and test your skills

Prepare and test your skills

Azure Monitor collects data from your cloud and on-premises resources, while Application Insights focuses specifically on how your application code performs. Together, these tools help teams find problems before users encounter them.
You can use sampling to keep only a representative portion of telemetry data while still getting accurate metrics, or preaggregate metrics to combine numbers before sending them to Azure, reducing the amount of data that travels over the network.
Start queries with the where operator to filter data early for faster performance, prefer has over contains for text searches because has is quicker, and use the materialize() function with a let statement so Azure calculates the same calculation once and reuses the result.