Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
When you add business logic to your plug-in you should be aware of the impact your plug-ins have on overall system performance.
Time and resource constraints
There's a hard 2-minute time limit for a Dataverse message operation to complete. This limit includes executing the intended message operation and all registered synchronous plug-ins. There are also limitations on the amount of CPU and memory resources that extensions can use. If the limits are exceeded, Dataverse throws an exception and the entire message operation is canceled (rolled back).
If the time limit is exceeded, Dataverse throws a TimeoutException. If any custom extension exceeds threshold CPU, memory, or handle limits or is otherwise unresponsive, Dataverse kills that process. At that point any current extension in that process fails with exceptions. However, the next time that the extension is executed it will run normally.
Important
You can't control how long the message operation or other synchronous registered plug-ins take to execute. You can only control how long your plug-in takes to execute based on its design and coding.
Our general recommendation is to limit the time your plug-in takes to execute to no more than 2 seconds.
If your plug-in requires more time to execute, consider registering your plug-in for asynchronous rather than synchronous execution. In fact, asynchronous execution should always be considered first when possible as it results in better application responsiveness and system scalability.
More information: Best practices and guidance regarding plug-in and workflow development
Monitor performance
Important
This feature is no longer operational or supported. Don't use.
This section will be removed in a future article update.
Run-time information about plug-ins and custom workflow extensions is captured and stored in the PluginTypeStatistic Table. These records are populated within 30 minutes to one hour after the custom code executes.
Plug-in performance analytics
In addition to using a debugger and profiler to learn how your plug-in is performing at the code level, you can interactively obtain metrics as to the overall performance of your registered plug-ins in an organization through Microsoft Dataverse analytics.
Through the Plug-in dashboard you can view metrics such as average execution time, failures, most active plug-ins, and more.
To access the dashboard, navigate to Power Platform Admin Center. Select Analytics > Dataverse > Plug-ins.
See also
Use plug-ins to extend business processes
Write Telemetry to your Application Insights resource using ILogger
Tutorial: Debug a plug-in
Debug Plug-ins