Jump to content
We've recently updated our Privacy Statement, available here ×
  • How to investigate the performance issues of Scheduler and Input Controls in the JasperReports Server?


    Henna Katy
    • Edited on:
    • Features: Input Controls, JasperReports Server, Scheduler Version: v9.0.0 Product: JasperReports® Server

    Use cases

    This section includes scenarios when tracing helped to improve the performance in the  Scheduler and Input Controls of JasperReports Server application.

    Tracing Report execution triggered by Scheduler

    When running a report in JasperReports Server, Scheduled job took a longer duration than usual, which resulted in performance issues in JasperReports Server.
    We examined the application server logs to find out the issue, but could not detect anything in the application server logs. This issue was later detected by enabling tracing. Enabling tracing helped to detect slow queries by capturing the exact places (spans) and the time spent in each major code area. 

    The following figure shows an example of the errors captured for the JasperReports Server Scheduler in Jaeger UI along with the logs. In this way all the hidden errors that remained undetected in the application server logs were found in Jaeger UI.

    image.thumb.png.a78cdaddf6c0023c15f244610032b430.png

    Example of Error Captured by OpenTelemetry in Jaeger UI

     

    image.thumb.png.d8b833a7923fe1605bfa14b9d1a85937.pngExample of Logs Captured by OpenTelemetry in Jaeger UI

    Tracing the execution of Report with Input Controls

    When running a report in JasperReports Server, the Input Controls dialog remained open for too long, which resulted in slow performance of the JasperReports Server application. We examined the application server logs to find out the issue, but could not detect anything in the application server logs. This issue was later detected by enabling tracing. 
    Tracing helped to capture the time spent for running SQL queries of Input Control. This helped to find out the total time taken to resolve all the values and deliver them back in the REST API response.
    Enabling tracing of the report execution helps to find slow SQL queries, and can help to determine if these queries were sent by report or Input Controls. In Jaeger UI you can look for slow queries by checking the start time, total execution time, and the duration of each span.
    To enable tracing, you need to configure OpenTelemetry and Jaeger agents on the JasperReports Server application and cluster. For more information, refer to JasperReports Server Administrator Guide.

    • Like 2

    User Feedback

    Recommended Comments

    There are no comments to display.



    Guest
    This is now closed for further comments

×
×
  • Create New...