If you're working with Dynamics 365 Customer Engagement, Power Platform, or Dataverse and encountering performance issues, knowing which tool to use can save hours of guesswork. This post outlines the tools I regularly use to diagnose and troubleshoot common performance problems.
When to Use What
Here’s a quick guide to help identify which tool to start with:
Slow Form Load → Performance Insights or Monitor Tool
Long Plugin Execution → Plugin Trace Logs
Slow API/Query → FetchXML Tester or Fiddler
General Slowness → Dataverse Analytics in Admin Center
1. Performance Insights (Preview)
Location: Power Platform Admin Center
Purpose: Analyze model-driven app performance, including form load times, plugin execution delays, and control rendering metrics.
Usage: https://learn.microsoft.com/en-us/power-apps/maker/common/performance-insights-overview
This tool is ideal for identifying specific components that slow down form loads.
2. Monitor Tool (Power Apps)
Location: Power Apps Maker Portal
Purpose: Real-time diagnostics for both canvas and model-driven apps.
Usage: Open your app in edit mode, select "Monitor" from the command bar.
It provides detailed telemetry for each user session, including control initialization times, data source performance, and Power Platform requests.
3. XrmToolBox Plugins
Tool: XrmToolBox (desktop application)
Useful Plugins:
- FetchXML Tester: Benchmark queries and analyze performance bottlenecks in views and lookups.
- Attribute Usage Inspector: Identify unused fields on forms that might slow down rendering.
- Plugin Profiler: Trace and debug plugin execution (requires setup).
These plugins are practical for deep dives when you suspect customization-related slowdowns.
4. Fiddler or Browser Developer Tools
Use cases:
- Inspect network latency, API request/response payloads
- Detect large or slow-loading JavaScript files
- Monitor the sequence of data calls from the browser
Especially useful if performance issues are suspected to be related to web resource load times or network speed.
5. Plugin Trace Logs
Location: Dynamics 365 → Settings → Administration → System Settings → Customization
Purpose: Capture server-side plugin execution details including duration and exceptions.
Tip: Set the trace level to "All" temporarily to capture full diagnostics, but revert it back after troubleshooting.
This is essential when custom plugins are suspected of causing delays or errors.
6. Dataverse Analytics (Admin Center)
Location: Power Platform Admin Center → Analytics → Dataverse
Purpose: High-level environment diagnostics including API throughput, system job performance, and storage usage.
Useful for tracking recurring performance patterns or spikes in background operations.
7. Application Insights (for Custom Code)
Use case: Custom plugins, PCFs, or custom APIs
Setup: Integrate TelemetryClient
in your code to log timings, errors, and custom events to Azure Application Insights.
This allows you to centralize performance telemetry across environments and gain visibility into the execution of custom logic.
Additional resource:
Dynamics 365 Diagnostics – Quick Overview:
Dynamics 365 Diagnostics is a Microsoft-supported tool designed to help administrators and support teams identify performance and connectivity issues in Dynamics 365 Customer Engagement (online). It runs various checks from the end-user's environment, such as browser, network latency, bandwidth, and client configuration, and compares them against Microsoft's best practices. The tool helps pinpoint whether issues stem from the client device, network, or the service itself.
Key Benefits:
Assesses system performance and connectivity health.
Identifies browser and configuration issues.
Helps support teams triage issues faster.
To run it, navigate to:
https://aka.ms/Diagnostics365
and follow the guided experience.
Summary
Troubleshooting performance in the Power Platform is about using the right tool for the right problem. Whether the issue lies in the browser, backend logic, or Dataverse itself, the platform provides enough diagnostic tools — if you know where to look.
Having a standard approach to investigation can save a lot of time and frustration. Start with the user symptom, use the right tool, and iterate from there.
Top comments (0)