Troubleshooting Designer Elements
  • 17 Aug 2020
  • 4 Minutes to read
  • Dark
    Light
  This documentation version is deprecated, please click here for the latest version.

Troubleshooting Designer Elements

  • Dark
    Light

Article summary

Overview

The purpose of this article is to discuss the potential causes of performance issues with slow rendering on the end-user side. Issues can include problems with the server, network connection, database, Decisions logic, and more. Some issues can be isolated to the build on the back-end of Decisions, but a lot of issues can have outside factors. This article will also offer some troubleshooting steps to help isolate the issue. 


Causes For Performance Issues

Potential causes in Decisions

Data FlowsToo many Data Flows running at startup.
External ContentToo much external content being loaded in. Data populating a large list, redirect loops, and slow external systems are examples.
Visibility RulesConflicting Visibility Rules in a Form interrupts rendering.
Development IssuesErrors or mistakes in development could cause issues like unclosed loops.
Older Decisions VersionsPotential bugs in legacy versions of Decisions.
Running ProcessesOther running processes like Scheduled Jobs.
Improper DesignImproper Form/Flow design can be an incorrect use of Data Repeaters or incorrect logic in the Flow.
Static Content
Static content is too massive.
Nested Containers
Containers nested too deeply.


Potential outside causes

Network IssuesNetwork issues at the server site.
Browser IssuesOut of memory, browser extension issues, etc.
SkypeIf Skype click-to-call is installed (browser issues).
Cluster Issuesproblems with a cluster or a node within the cluster.
DDoS AttackDistributed denial-of-service attacks (network issues).
IIS IssuesProblems occurring with Internet Information Services.


Potential database causes

StorageRunning out of space on the database.
LogsDatabase logs are full.
Long QueriesLong-running or complex queries can cause slowness trying to execute.
BottlenecksToo many interactions occurring with the database at once.
VersionWrong version of database software.
Network DatabaseIssues that could occur with a database or could be from network issues of the database.


Troubleshooting Performance Issues

It's important to note that the source of an issue could be coming from a wide range of places. Each of these potential causes could have varying sources. The next sections highlight best practices when attempting to troubleshoot these issues.

When an issue occurs like slow performance on a build that was assumed to be logical, isolating the issue becomes pivotal to deal with such a wide range of potential causes. The best practice we can offer as Decisions professionals is to cut any issue in half. Look for something in the entire configuration that can be changed to potentially eliminate an entire set of related issues. 

The Basics

Step 1: Decisions Logic

The best first practice to troubleshoot performance is to open a Decisions Object with similar functionality to see if the issue occurs elsewhere. With this step, the Decisions Objects in question can be duplicated for testing purposes. If a Flow contains a Form in question, make a copy of the Flow, and change some configurations around in the Flow Designer to see if the performance issues resolved. Do the same with the Form if the Flow does not seem to be the problem. Check for proper configurations on complex Form Controls and make sure complex Form Controls aren't stacked in different Form tabs. Make sure Flow logic executes as expected in the Debugging window.

Step 2: Browser

Try running the project from the Decisions environment in a private browser window, to eliminate possible browser issues causing slow Form performance. Alternatively, try different browsers if multiple are installed. 

Step 3: Machine

Try running the project outside of the built-in firewall or on a different machine. This will help isolate whether or not the issue is between the environment or perhaps the server, which means determining if it is the platform or an outside issue. There are a lot of issues that could occur between the client environment and the server such as latency issues, DNS records, encryption, and more. Eliminating the machine as a potential cause for the issue is half of the equation.

Step 4: Environments

Take a look at some quick snapshot observations of the different environments that help run Decisions. These environments would include the database itself, various service managers, client machines, and server performance. Evaluate each of these components in their respective environments to determine if any issues stand out that could be causing problems on the front-end Form execution. Some of these environments may require a System Administrator to inspect.



Advanced Troubleshooting

Decisions Profiler

The Decisions Profiler is a built-in Decisions Tool that is located at System > Administration > System Tools > Profiler. This interface offers several different Reports and Dashboards that provide details on performance within the environment. The detail that this includes extends to Database calls as well. 

The Profile view shows the type of occurrence that took place, the ProfileName which acts as a description, the count of times this executed, how long it took, how long it took with children, the objects it created, and the objects it created with children. 

The screenshot below looks into a Service investigation where a child process is taking longer to perform. Each section can be expanded down to pinpoint which areas of the process are producing what and how long it is taking. 

To learn more about troubleshooting using the Profiler, please visit our Troubleshooting Using Profiler article.



Browser Developer Tools

Using the Developer Tools (if available) in the web browser where Decisions are running is an excellent source for troubleshooting issues. Within this window is a suite of helpful tools to help isolate issues with performance. Developer tools offer different tabbed sections that will help with finding where errors are coming from.

The Console tab provides allows the user to view logged messages based on the webpage and the actions completed on it. These messages can vary from warnings to informational logs, and the sections are generally broken down as shown in the screenshots below.


The network tab allows the user to see how long it takes to connect Decisions depending on which element is being interacted with. This is a good tool to use to confirm whether or not an issue is based on the environment. This tool will also show the properties of an individual resource for more refined troubleshooting.



 If further support is needed with troubleshooting errors in the Decisions environment, please contact support@decisions.com


Was this article helpful?