What Development Telemetry Does
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.
Setting Up Azure Monitor
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.
Using Application Insights
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.
Writing Kusto Queries
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.
Turning Data Into Action
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.