Application performance monitoring
APM Tips
Instrument, query, alert. Field notes for production monitoring.
Practical guides for Azure Monitor Application Insights and OpenTelemetry, explained KQL, and calculators for sampling and cost. Every guide opens with the answer and dates its sources.
Start here
-
Hub
Application Insights
Configuration and troubleshooting for Azure Monitor Application Insights, for the classic SDK and the OpenTelemetry distros that replace it.
-
Library
KQL library
Explained, copy-paste queries for the Application Insights tables: latency percentiles, failures, slow dependencies, all sampling-aware.
-
Tools
Tools
A sampling and ingestion cost calculator and a KQL query builder, each showing how it arrives at its figures.
Latest guides
All guides →-
Application Insights
Correlation in Application Insights: trace context, operation_Id and Application Map
How operation_Id and operation_ParentId map to W3C trace context, why Application Map shows one node or none, and how to correlate work across queues.
-
Application Insights
Tracking users and sessions in API apps
Why user_Id and session_Id are empty for APIs, how to set them from claims and headers in the classic SDK and OpenTelemetry, and what to keep out of them.
-
Application Insights
Agent-based dependency tracking: what the Application Insights Agent sees and misses
How the Application Insights Agent collects SQL and HTTP dependencies on IIS, when the instrumentation engine is needed, and what still needs code.
-
Application Insights
App Service auto-instrumentation vs the SDK: which one to run
What Application Insights auto-instrumentation collects on App Service, Functions, AKS and IIS, when to move to code, and why one collector per app is enough.
-
Application Insights
Application Insights pricing: what you pay for, and how to cut the bill
Application Insights bills by the GB its Log Analytics workspace ingests. Current East US prices, the free allowance and retention, and what to change first.
-
Application Insights
ApplicationInsights.config: do you still need it, and what replaced it
What ApplicationInsights.config controls, which apps still read it, and where its settings went in SDK 3.x and the Microsoft OpenTelemetry Distro.
Latest queries
KQL library →-
Failed requests by result code
requests failures
Returns: One row per result code among failed requests, with the sampling-adjusted failure count, the number of distinct operations affected and one example operation.
-
Apdex-style satisfaction score per operation
requests latency
Returns: One row per operation with its request count, the satisfied, tolerating and frustrated counts against the target, and a 0-to-1 score, worst first.
-
Availability results by test and location
availabilityResults availability
Returns: One row per availability test and test location with the number of runs, the failed runs, the availability percentage and the p95 test duration in milliseconds, worst first.