If a SAS Visual Analytics report is performing poorly (slow to open or slow to load pages or graphs), use the following guide to collect and provide useful information to SAS Technical Support:
Information to Gather
Providing a specific example of where you see poor performance and gathering relevant information is vital. Here are some items to consider:
- Is the issue intermittent or can it be replicated with specific steps? If so, what are those steps?
- Does it occur only with a specific report?
- Does it occur only when you take a certain action in a report?
- Does it impact only one user or multiple users?
- Does the web browser that you use make any difference? For example, does the issue happen only in Google Chrome but not in Mozilla Firefox?
- Describe the environment: For example, specify the operating system, how many CAS nodes there are, how many memory and CPU cores are on each, and so on.
Enable Report Data Debugging
The Report Data service is responsible for sending requests to the CAS server and retrieving the data. Most performance issues occur on this service, so it is helpful to have debugging enabled:
- Log in to SAS® Environment Manager as an Administrator.
- Navigate to Configuration ► All Services ► Report Data service.
- Edit the section logging.level: com.sas.bidata.
- Set the level to DEBUG.
- Click Save to save the changes.
- Repeat these changes for these additional logging levels:
- logging.level: com.sas.cas
- logging.level: com.sas.reportcache
- logging.level: com.sas.reportcommon
- logging.level: com.sas.reportcommon.utils.debug.Time
- logging.level: com.sas.reportdata
A service restart is not needed. The debugging takes effect after 30-60 seconds.
Enable Report Data Garbage Collection
Garbage-collection logging can provide more detailed performance metrics about memory usage within the report data service. To enable this logging, follow the directions in SAS Note 64727 to create a report-data.conf file.
CAS Table Information
Information about the CAS tables used in SAS Visual Analytics reports can be useful as well. Here are items to consider:
- How large are the tables, in terms of megabytes/gigabytes?
- How many rows and columns are in the table?
- Are the tables compressed?
- How often do the tables update?
- If possible, run the following SAS code in SAS® Studio to provide table details and column information for each table, replacing TableName and LibraryName with your table and library names:
cas currentsession;
caslib _all_ assign;
proc cas;
table.columninfo / table={name="TableName", caslib="LibraryName"};
table.tabledetails / name="TableName", caslib="LibraryName", level="node";
quit;
Replicate the Problem and Capture Diagnostics
Follow these steps to capture additional diagnostic information as the problem occurs, and to know what information to provide to SAS Technical Support.
- On the CAS server, start a CAS gridmon recording to capture activity.
- On the client where the problem will be reproduced, open the browser window.
- Start a Network Trace (SAS KB0036430) in the web browser.
- In the same browser window where the network trace is running, replicate the issue. Allow enough time for all report objects to load, if possible. Any data requests that have not completed are not captured in the network trace.
- Optional: If the issue is with a specific report object, such as a list table or crosstab, you can capture Query Diagnostics (SAS KB0036172) as well.
- Once complete, click anywhere in the SAS Visual Analytics report and press Ctrl+Alt+P on your keyboard to open the SAS Visual Analytics Performance Diagnostics window.
- Save the contents here, or copy and paste everything in this window to a text file.
- In the same window, click the BIRD tab. This tab displays the report definition.
- Save the contents here, or copy and paste everything in this window to a text file.
- Save the network trace and the browser console output.
- Stop the gridmon recording.
- Send the following information to SAS Technical Support:
- The Browser Diagnostic information (network and console captures)
- The Performance export from Ctrl+Alt+P
- The BIRD export from Ctrl+Alt+P
- The Report Data service log (default location: /opt/sas/viya/config/var/log/report-data/default. Collect the most recent sas-report-data-timestamp.log file)
- The CAS service log (default location: /opt/sas/viya/config/var/log/cas/default. Collect the most recent cas_timestamp_hostname_pid.log file)
- The Report Data garbage collection log (default location: /opt/sas/viya/config/var/log. Collect the most recent gc_sas-report-data_timestamp.log file)
- The gridmon recording