Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Analyze Plug-in Performance

[Applies to: Microsoft Dynamics CRM 2011]

The Plug-in Profiler is a tool that profiles the execution of plug-ins and custom workflow activities for an enhanced debugging experience in Microsoft Visual Studio. This tool, which can be run from the Command Prompt window or from within the Plug-in Registration tool, makes developing custom code against Microsoft Dynamics CRM 2011 quicker and easier. In addition, users can profile the execution of failing code and send the results to the developer of the code or independent software vendor (ISV) for analysis. The developer can replay the plug-in or custom workflow activity execution and debug the code remotely even when disconnected from the Microsoft Dynamics CRM server.

noteNote
The Plug-in Profiler is available in version 5.0.5 of the Microsoft Dynamics CRM SDK and later releases. Support for registering and executing custom workflow activities in the sandbox is new in Microsoft Dynamics CRM 2011 Update Rollup 12 and the Microsoft Dynamics CRM December 2012 Service Update.

The tool can be used in either the debug or replay mode. Each of these modes is described in the following sections.

Debug a Plug-in using the Plug-in Profiler

To debug a plug-in

  1. Run the Plug-in Registration tool. Beginning with version 5.0.13 of the SDK, you can find the tool’s executable file in the Bin folder of the SDK download. In previous SDK releases, you had to build the tool from source code provided in the Tools\PluginRegistration folder.

  2. Connect to a Microsoft Dynamics CRM server and organization. For more information on connecting to a server and organization, refer to the SDK topic: Walkthrough: Register a Plug-in Using the Plug-in Registration Tool.

  3. Register a plug-in and step on the Microsoft Dynamics CRM server. Keep a copy of the debug compiled plug-in assembly on the computer where you are running the tool.

  4. In the tool's main window, select Install Profiler. You will now see a Plug-in Profiler node in the list.

  5. Select a plug-in step and click Profile to enable profiling.

  6. Perform the operation in Microsoft Dynamics CRM that causes the plug-in to run. For example, if the step is configured for an update to an account, then update an account.

  7. After the plug-in throws an exception and the Business Process Error dialog is displayed, click Download Log File and save this file. Alternately, if the plug-in does not throw an exception, click Stop Profiling.

  8. In the Plug-in Registration tool, click Debug.

  9. In the Debug Existing Plug-in dialog box, provide the location of the previously saved log file.

  10. In Step #2, specify the location of the plug-in assembly.

  11. Launch Visual Studio 2010 and attach the debugger to the PluginRegistration.exe process.

  12. Set a breakpoint in the plug-in code.

  13. Click Start Plug-in Execution in the Debug Existing Plug-in dialog box.

  14. After a slight delay, the plug-in will execute using the same execution context that was passed to it by the Microsoft Dynamics CRM server and the debugger will stop execution on the breakpoint that you previously set.

  15. Continue debugging the plug-in as you would normally do. Any traces that the plug-in outputs are shown in the Debug Existing Plug-in dialog box.

At this point you can alter the plug-in code, build it, re-attach the debugger to the PluginRegistration.exe process, and click Start Plug-in Execution to continue with your debugging session. While performing these operations, you do not need to close the Debug Existing Plug-in form.

You do not need to re-deploy the plug-in to the Microsoft Dynamics CRM server until after you have fixed the code problem. This debugging scenario works even if you have an optimized version of the plug-in on the server and a debug version of the plug-in on the computer where you are debugging.

Replay Plug-in Execution

Replaying plug-in execution does not require a connection to a Microsoft Dynamics CRM server and organization. The advantage of this method is that you can obtain the plug-in execution profile from a customer and debug the plug-in remotely. A restriction of the replay feature is that you cannot change the sequence of calls your plug-in code makes in the debugger while you are debugging.

The replay feature provides the plug-in with a snapshot of the call data and event execution context from the Microsoft Dynamics CRM server. You are getting the same events, GUIDs, and so on from calls to the Organization service but no data is being modified on the server as you debug the plug-in. During the debugging procedure in the previous section, the plug-in actually connects to the server and makes calls in real time.

To replay plug-in execution

  1. Launch Visual Studio 2010 and attach the debugger to the PluginRegistration.exe process.

  2. Click Replay Plug-in Execution in the Debug Existing Plug-in dialog box.

  3. Enter the log and plug-in assembly locations in the dialog box.

  4. Click Start Plug-in Execution.

  5. Debug the plug-in as you would normally.

Run the Plug-in Profiler Standalone

The profiler can be executed from a Prompt window independent of the Plug-in Registration tool. This is useful to obtain the plug-in profile log from a customer's Microsoft Dynamics CRM server to debug a failed plug-in. A developer can then use that log to replay the plug-in's execution in the Plug-in Registration tool and debug the plug-in using Visual Studio 2010.

To run the plug-in profiler from a command prompt

  1. Open a Command Prompt window and set the working directory to the Bin folder in the SDK download.

  2. Type the command: PluginProfiler.Debugger.exe /?.

  3. Review the supported parameter list and re-run the PluginProfiler.Debugger.exe program with the appropriate parameters.

See Also

Microsoft Dynamics CRM 2011
Send comments about this topic to Microsoft.
© 2013 Microsoft Corporation. All rights reserved.
Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.