#GPPT Does GP Power Tools affect performance

David Meego - Click for blog homepageSomething that is always a question when adding an ISV (Independent Software Vendor) add on product to Microsoft Dynamics GP is whether it negatively affects performance.

The short technical answer is always going to be Yes. As any additional code will take time to process. However, the real question is whether the effect on performance is noticeable to users.

GP Power Tools performs many functions across the entire Microsoft Dynamics GP product at various times. Many of these functions can be enabled or disabled using the Administrator Settings window. Also, with the Developer Tools module and Form Control Tools module, it is possible for individual sites to create triggers to run their own code which might affect performance.

Please note that all the extra actions taken by GP Power Tools have been optimized to be as fast as possible and have negligible effects on overall performance.

So, here is a quick highlight of some of the main areas where GP Power Tools is active without you directly using a GP Power Tools window.

Login, Logout and Switching Companies

When logging in or switching companies, GP Power Tools actively looks for many issues that can cause problems with a Microsoft Dynamics GP system and will display warnings if it finds those issues. These dialogs are not errors caused by GP Power Tools, they are warnings informing users that there is a problem that needs fixing, such as invalid paths or running out of space. Solve the issue and the dialog will go away. Some of the dialogs can be suppressed in the Administrator Settings window, but that does not fix the cause of the issue.

If Company Login Filter, Login Limits or User Activity Tracking are enabled, there will be additional activity and/or data logging. There are also a number of other settings applied on login such as the Company Color Themes, and cleaning up activity records for disconnected users.

Triggers created with the Developer Tools module will be registered on login. The Form Control Tools module only registers triggers “on demand” as windows are opened.

On Logout or leaving a company, GP Power Tools needs to cleanup data used for various features, such as removing triggers from the Developer Tools module and Form Control Tools module. It can also clean up activity records for disconnected users and update User Activity tracking data.

Waiting for Background Processes on Login

(The information is this section is what motivated me to write this article.)

Just after Login, Microsoft Dynamics GP runs many background processes to complete all the steps for logging in. You can see this code running in the Process Monitor and tell when the processes have completed as the Company name and User ID at the bottom of the main window become enabled.

Many ISV products also initialize themselves using background processes after login and they are not ready to be used until the background processes have been completed.

To avoid issues which can be caused if a user starts using sections of the product before all the login processes have completed, GP Power Tools has a modal dialog which can be displayed during this time and thus prevents the user from using Microsoft Dynamics GP until it is fully loaded.

While this dialog is displayed, GP Power Tools has already completed everything it wanted to do on login. It is purely waiting for the core background processes and any other ISV background processes to complete.

If you don’t want to wait and accept that this could cause issues with some ISV products, you can disable this option on the Usability tab of the Administrator Settings window.

This Wait dialog is optional and is only there to help with the smooth running of Microsoft Dynamics GP. Whether the dialog is displayed or not, the background processes still take the same amount of time to complete.

See this article about improving performance:

Opening and Closing Windows

When opening windows GP Power Tools can remember the size, state and position of the window on a per user basis and make sure it opens in the same location it was in when closed. It can also make sure that the window opens within the visible desktop and not off screen and can update the window title with the user and/or company details.

When closing the window, it can store the size, state and position data into a table for use when next opening the window.

If Security Activity tracking is enabled, data about which windows have been opened for each user and company can be recorded.

If the Resource Information or Resource Finder windows are open, the first time a window is opened for that session, GP Power Tools will register triggers which allow the “Show currently selected” option to work.

The new Form Control module can also cache resources and create triggers the first time a window is opened each session. The resource cache is kept between sessions for better performance.

Triggers created with the Developer Tools module can be executed as windows open and close as well as when fields are changed by the user. Winthrop Development Consultants does not have any control of the custom code created using GP Power Tools but does offer Consulting services if assist is needed to create the code or improve it (including performance).

Reports

GP Power Tools can create custom RW (Report Writer) functions which can be used from Conditional fields on modified reports. These functions can be called multiple times for the body records in a report. Depending on how it is written, it can slow the report generation. The article below explains how to improve performance of Custom Report Writer Functions:

Logging

GP Power Tools allows five different logs to be captured, providing details of what is happening from the user interface actions, through the application, communication with SQL Server and finally the SQL Server activity. Running logging does have an overhead and should only be used when attempting to troubleshoot an issue.

GP Power Tools does have Automatic Logging modes, where the logging can be enabled and disabled programmatically and so minimize the length of time the logging is running. This also provided smaller, “targeted” logs of the issue which are easier to analyze.

One of the five logs produced is the Script Profile which captures all the timing information for scripts and table activity and is invaluable in identifying where time is being used within Microsoft Dynamics GP.

GP Power Tools also allows logging to be enabled during the login process to help identify the cause of a slow login.

Summary

All ISV products will have some effect on performance, but as long as the effect is not noticeable and the additional functionality is worthwhile, there is no need for concern.

GP Power Tools actually is the best tool to help identify the cause of performance issues.

Hope you find this information useful.

David

10-Sep-2024: Added link about performance settings and performance whitepaper.

This article was originally posted on http://www.winthropdc.com/blog.

2 thoughts on “#GPPT Does GP Power Tools affect performance

Leave a Reply