Beginning of May 2022, Microsoft announced that the ability to configure an Azure Application Insights resource to receive telemetry on diagnostics and performance of Dynamics 365/Dataverse model driven apps was generally available.
Integration of Dynamics 365/Dataverse with Application Insights enables new monitoring strategies for Dynamics 365/Dataverse. Application Insights will allow you to detect and resolve issues before the end user notices it. I also think this is very useful for following up on performance impact during big data loads/migrations (see screenshot below where Dataverse processed 6.1 million requests). Application Insights integration is a nice addition to the already extensive toolkit as outlined in the Monitoring the Power Platform blog series by @pfedynamics
The logs in Application Insights allow you to build queries to troubleshoot and monitor your solutions and answer questions like:
- Why are some of my users experiencing slowness on Unified Interface?
- How can I determine whether my plug-in upgrade caused a performance degradation?
- Can I drill down on errors or failures at specific times for specific users to allow for understanding the call stack?
- Why are users experiencing issues with a specific form?
If you want to learn more and see some examples - definitely take a look at the blog post from @decastroallan on Analyzing your Dataverse environment using Application Insights
The performance insights (preview) for model-driven apps is probably leveraging the same telemetry but since you now have access to the raw data in the underlying logs it will be easier to pin point potential issues or discover ways to improve the performance and/or user experience.
KQL (Kusto Query Language) can be used to query the logs in Application Insights in a scalable fashion - KQL can be used to also query other Azure components like Azure Log Analytics, Microsoft Defender and Azure Data Explorer. KQL is a SQL-like query language which is powered by the Kusto Engine that allows you to query, filter, sort and aggregate data. It was built specifically built for the cloud and scales quite well. Unlike SQL, KQL can not create, update or delete data - it is purely meant to be used for query operations.
References:
- Analyzing your Dataverse environment using Application Insights by @decastroallan
- What are performance insights (preview)
- Tutorial: Use Kusto queries
- Querying telemetries from multiple Application Insights instances
- What is Azure Data Explorer and Kusto Query Language
- Learning the Kusto Query Language (KQL) with Application Insight Logs
- Introducing Performance Insights (preview) for model-driven apps
- Microsoft Learn - write your first query with Kusto Query Language
No comments:
Post a Comment