Max and Zoe Discuss Dataverse Telemetry and Application Insights

Max: Hey Zoe, I’ve been hearing a lot about Dataverse telemetry and Application Insights lately. Can you explain what it is and how it can help with logging and diagnostics?

Zoe: Sure, Max! Dataverse telemetry allows you to receive detailed diagnostics and performance data from your Dataverse environment and model-driven apps. By integrating with Application Insights, part of the Azure Monitor ecosystem, you can monitor and troubleshoot issues without writing any additional code.

Max: That sounds useful. What exactly is telemetry in this context?

Zoe: Telemetry provides insights into what’s happening inside your apps and on the server. Without it, your app is like a “black box,” and you’d need to contact technical support to diagnose issues. Telemetry lets you detect and measure operations to understand if everything is working normally or if something is affecting the system’s performance.

Max: How do I set it up?

Zoe: It’s quite simple. An environment or tenant admin needs to provide the Application Insights instrumentation key while setting up the data export process in the Power Platform admin center. Once done, the telemetry data that Microsoft collects is sent directly to your Application Insights environment. If needed, you can opt out by deleting the data export connection.

Max: What are the benefits of using Application Insights for this?

Zoe: There are several benefits:

  • Standardized Telemetry: You’ll receive a consistent set of telemetry data, making it easier to understand and use.
  • Correlated Data: You can trace operations from a mouse click in the app all the way through the server and back, seeing how long each step takes.
  • Technical Support: The telemetry includes operation IDs that you can use when contacting support, aligning with the data Microsoft engineers use.
  • Unified Monitoring: For partners or system integrators, the standardized telemetry avoids the need to learn custom telemetry for different environments.

Max: That sounds great. Can I add custom telemetry if needed?

Zoe: Yes, you can. If the standard telemetry doesn’t cover everything you need, you can write additional telemetry. For server-side logic, you can use the Microsoft.Xrm.Sdk.PluginTelemetry.ILogger interface in your plug-in code. For client-side JavaScript in model-driven apps, you can use existing patterns to write to your Application Insights resource.

Max: What types of telemetry are included, and what’s not?

Zoe: For model-driven apps, the telemetry includes common features like edit form, grid, and dashboard load events. It doesn’t currently include save events and ribbon commands. For Dataverse, you’ll see all server requests and how they’re processed, but you won’t get detailed database information or physical server resource usage like memory consumption.

Max: Can Application Insights be used for live debugging as well?

Zoe: Yes, Monitor can be used for live detailed debugging for both canvas apps and model-driven apps. This allows for real-time issue identification and troubleshooting.

Max: This sounds incredibly useful. Are there any restrictions or requirements I should know about?

Zoe: One important note is that enabling Application Insights integration is limited to customers with paid/premium Dataverse licenses. Also, remember that while telemetry provides a lot of insights, it won’t give you details about physical server resources.

Max: Thanks, Zoe! This really clears things up. I’m excited to get started with setting up telemetry for our Dataverse environment.

Zoe: No problem, Max! It’s a powerful tool that will definitely help you keep your applications running smoothly and efficiently. If you have any more questions, feel free to ask!

Leave a comment