Investigating a performance issue in IFS Business Reporter¶
A report designer should always investigate the performance before publishing a report for common use. The first step would be to get a general feeling if the report execution time is satisfactory or not. If it is not satisfactory, then it is of interest to figure out what part of the design leads to poor performance. First of all, it is required to have an understanding of the report execution time.
General¶
A Business Reporter report's total execution time includes the time spent on validating the report design, fetching data from the server, and rendering results in BR client. When investigating a performance issue in BR, the first and foremost step is to identify to which of these steps takes more time.
It is possible to obtain the report execution time from both BR client and IFS Cloud.
In BR client, once you execute the report you can find the report execution time under the Debug tab in the Document Actions pane.
This information is useful to find out which step takes most of the time to render the report, whether it is in server or in client. The above activities can be expanded by using Show Details option.
In order to see the report execution time in IFS Cloud, the report needs to be published to IFS Cloud.
Order the report via Built-in IFS Business Reporter Execution server, then you can find the report execution time under Execution Log for built-in BR Execution Server page.
Once you have identified the area, which takes more time to execute the report then you can proceed with the investigation accordingly. Below section explains how you can investigate various aspects of the report in detail.
Investigation on Data Sets- In BR Client¶
Take a closer look at the corresponding IFS Business Reporter report.
At a first glimpse, the design seems to describe a standard case with one design row and one design column that will lead to a generation of one server data set. However, we could see there were 3 data sets, in the server trace.
To figure out how many data sets are involved and more details about data sets, enable Display Dataset Info Before Executing option under Report Options pane in Design Mode. Click Ok to save the settings.
When executing the IFS Business Reporter report, after supplying the necessary input parameters, the dialog Data Set Information is displayed:
The dialog shows the data sets to be sent to the server and for each data set the corresponding client data sets are displayed via the Design row references of server sets grid. Thus, it is possible to figure out how many client data sets that are merged into each server data set and also the origin of each client data set in the design. Click Cancel to avoid executing the report.
Note: If a BR report has been executed then it is recommended to use the Cached Data option when it is executed the next time since only server data sets related to modified client data sets will be executed. Caching of data only applies in Design Mode.
It is possible to disable server datasets via the dialog Data Set Information in order to find the most time-consuming dataset.
In the following example one out of three server data sets in a IFS Business Reporter report has been disabled and thus only two server data set will be executed.
Note: The report design does not have to be modified.
If the report option Display Dataset Info Before Executing has been defined in Design Mode, once the report has been executed it is possible to find out the timings for each data set by clicking on the Data Set Info button in the options page in Report Mode.
Investigation on Data Sets- In IFS Cloud¶
Data set information will be made available in the BR Report Level Execution Parameters page in IFS Cloud by executing a published BR report.
There are two types of publishing:
-
Publishing a BR report for BR Access Only
a. Executing the report in Report Mode in BR Client using Order Report.
-
Publishing for end-user access
a. Executing the report in Report Mode in BR Client using Order Report.
b. Execution via Order Report page in IFS Cloud, either online or scheduled.
If the report is published to IFS Cloud or published for BR Access Only, it is possible to find out the dataset information and how long it has taken to execute the report in the server side for the latest execution of the report.
This page can be used to find out:
- The total execution time for the report in server side
- Number of executed server data sets
- The identity of each server data set
- Time taken to execute a single data set
Investigation on SQL Statements¶
The associated SQL statements can be investigated, and it is possible to do some server-side parameter settings that might improve the performance. This is described more in detail in the section about BR Execution Parameters. You can find the SQL Statement for each dataset from the aforementioned Data Set Information dialog in BR Client and BR Report Level Execution Parameters page in IFS Client.
Investigation on Design Sheets¶
If the report has many Design Sheets, one approach is to disable all sheets except one and then execute the report. If the report execution time is acceptable, then disable the sheet and enable another one and then test again until the most time-consuming sheet has been found. Of course, it might also be so that all sheets require a fairly equal execution time and then it is the sum of the time for all design sheets that is the problem. This approach can also be used to investigate on report execution time when it takes more time to render results in BR Client.
You can find the option to disable the design sheet under Sheet Options in Design Mode.
To learn about how to optimize the performance of IFS Business Reporter reports refer >>