Troubleshooting Birt report performances

Sometimes I had the hard task to debug performance issues of specific Maximo reports. The main thing to understand here is that 95% of the times the problem is related to a long execution time of the underlying SQL query .
What I typically do is the following:
  1. Look at the 'Performance' tab of the Report Administration application and take note of the 'Last Run Duration'.
  2. Configure an Eclipse Birt Designer environment to run the reports against the production database.
  3. Import the report into Eclipse.
  4. Change the rptdesign to log in a local file: mxReportScriptContext.setDefaultLogFile("D:/birtreport.log");
  5. Add a row to print the SQL query into the log file: mxReportScriptContext.getReportScriptLogger().debug(">>> sqlText=" + where);
  6. Run the report within Eclipse.
  7. Copy and paste the SQL query from the birt log file into a SQL client and try to execute the query straight to the database.

After this you have many elements to understand what may be the problem. First you need to find the cause performance issue and then work out the solution. Here are some examples:
I wish you a merry debugging  :-)

Labels: , , , , ,