Generating Reports for Engine Data

You can generate various reports under some conditions such as increased memory usage, high CPU usage, more live threads for certain time.

By default, TIBCO BusinessWorks Container Edition generates reports in {BWCE_HOME}\<product_version>\reports. You can change the report location by setting the bw.smartengine.report.path={path_to_report_folder} property in the BW_JAVA_OPTS environment variable while running the application. You can also maintain a history or reports.

Before you begin
  • Configure the following Engine property in the BW_JAVA_OPTS environment variable while running the application to enable and disable the smart engine.

    bw.smartengine.enabled=true

    You can also enable the smart engine feature dynamically by using the following REST API:

    http://<host>:<port>/monitor/systemproperties/enableSmartEngine

    Procedure
  1. To get the application statistics in reports, set the BW_JAVA_OPTS environment variable bw.smartengine.appStatistics.enabled property to true. You can also enable the application statistics dynamically by using the following REST API:

    http://<host>:<port>/monitor/systemproperties/enableSmartEngine?bw.smartengine.appStatistics.enabled=true

    Warning: You may observe performance degradation after setting the property.

  2. Based on your requirements to get data in the report, several triggers are available. For more information, see the list of available Triggers.

  3. To keep a specific number of reports for each type of performance use case at {BWCE_HOME}\<product_version>\reports location, set the below BW_JAVA_OPTS environment variables while running the application:

    bw.smartengine.keepRecentReports.enabled=true

    bw.smartengine.keepRecentReports.size=5

    By default, the smart engine stores the previous five reports for each performance use case.

ResultThe report is stored at your specified location in the .zip format. The .zip file contains a report in an HTML format. The report has the following layout:

The HTML report has the following sections:

Section Description
BW Applications

This section shows the TIBCO BusinessWorks Container Edition applications in a table. Each row shows the number of jobs for the TIBCO BusinessWorks Container Edition processes in an application, such as:

Created Jobs
Running Jobs
Completed Jobs
  • Faulted Jobs

  • Canceled Jobs

After the TIBCO BusinessWorks Container Edition applications table, line charts are shown for each application, such as:

  • Total Job Count chart

  • New Job Count chart

When an application has incoming HTTP requests, the Total HTTP Connector Calls chart, and the New HTTP Connector Calls chart are shown.

For each TIBCO BusinessWorks Container Edition application, the TIBCO BusinessWorks Container Edition processes in the TIBCO BusinessWorks Container Edition application are shown in a table. Each row shows the number of jobs for a TIBCO BusinessWorks Container Edition process, such as

  • Created

  • Completed

  • Faulted

  • Suspended

After the TIBCO BusinessWorks Container Edition processes table, line charts are shown for each TIBCO BusinessWorks Container Edition process, such as Total Job Count chart and New Job Count chart.

For each TIBCO BusinessWorks Container Edition process, the TIBCO BusinessWorks Container Edition activities in the TIBCO BusinessWorks Container Edition process are shown in a table.

Each row shows the runtime information of an activity such as:

  • Recent Status

  • Executed

  • Faulted

  • Recent Elapsed Time (ms)

  • Min Elapsed Time (ms)

  • Max Elapsed Time (ms)

  • Total Elapsed Time

  • Recent Activity Output Memory (bytes)

  • Min Activity Output Memory (bytes)

  • Max Activity Output Memory (bytes)

The processes and activities statistics data is available when the application statistics feature is enabled. For example, bw.smartengine.appStatistics.enabled=true.

The activity output for memory data is available when the engine analyzer feature is enabled. For example, bw.engine.analyzer.subscriber.enabled=true.

Operating System

This section shows the operating system information in a table, such as:

  • OS Name

  • OS Version

  • OS Architecture

  • Available Processors

  • Committed Virtual Memory

  • Free Physical Memory

  • Total Physical Memory

  • Free Swap Space

  • Total Swap Space

  • JVM Process CPU Time

  • JVM CPU Load

  • System CPU Load

  • System Load Average

After this table, line charts are shown, such as

  • Free Physical Memory and Free Swap Space chart

  • JVM CPU Load and System CPU Load chart

  • System Load Average chart

Runtime Information

This section shows the runtime JVM information in a table, such as:

  • Process Name

  • Spec Name

  • Spec Vendor

  • Spec Version

  • VM Name

  • VM Version

  • VM Vendor

  • Management Spec Version

  • Start Time

  • Up Time

  • Class Path

  • Library Path

  • Input Arguments

  • System Properties

JVM Information

This section shows the overall JVM information in a table such as:

  • PID

  • Java Vendor

  • Java Name

  • Java Version

  • OS User

  • CPU Load

  • Up Time

  • GC Time

  • GC Count

  • GC Load

  • Max Heap

  • Used Heap

  • Used Non-Heap

  • Total Loaded Class Count

  • Thread Count

  • Peak Thread Count

  • Total Started Thread Count

After this table, Top Threads information is shown in a table. Each row shows the data of a thread, such as:

  • TID

  • Name

  • State

  • Thread CPU Usage(%)

  • Thread Total CPU Usage(%)

  • Blocked Thread

After that, Top Methods information is shown in a table. Each row shows the data of a method, such as:

  • Class Name

  • Method Name

  • Total CPU Time(ms)

Memory Information

This section shows the JVM memory information in a table, such as:

Max Heap Size
Committed Heap Size
  • Init Heap Size

  • Used Heap Size

  • Max Non-Heap Size

  • Committed Non-Heap Size

  • Init Non-Heap Size

  • Used Non-Heap Size

After the table, line charts are shown, such as:

  • Heap Memory Usage chart

  • Non-Heap Memory Usage chart

Thread Information

This section shows the overall JVM thread information in a table, such as:

  • Thread Count

  • Daemon Thread Count

  • Peak Thread Count

  • Total Started Thread Count

  • Current Thread CPU Time

  • Current Thread User Time

After this table, a Thread State Count table is shown. Each row shows the number of threads in a thread state, such as:

  • New

  • Runnable

  • Blocked

  • Waiting

  • Timed Waiting

After that, line charts are shown, such as:

  • JVM Thread Count chart

  • JVM Thread State Count chart

Thread List

This section shows the JVM threads in a table. Each row shows the data of a thread, such as:

  • TID

  • Name

  • State

  • CPU Time(ms)

  • Allocated Heap Size

Thread Dump

This section shows the JVM threads dump in a table. Each row shows the thread dump of a thread, such as:

  • TID

  • Thread Name

  • Thread State

  • Thread Allocated Heap

  • Stack Trace

Class Loading

This section shows the JVM class loading information in a table, such as:

  • Loaded Class Count

  • Total Loaded Class Count

  • Unloaded Class Count

After the table, a line chart of Classes Count is shown.

Objects Snapshot

This section shows the JVM objects in a table. Each row shows the data of an object, such as:

  • Number of instances

  • Allocated Heap Size

  • Class name

Analysis This section shows the analysis of various performance use cases. When the triggers are evaluated, if a trigger condition is met for a performance use case, a corresponding analysis is provided and shown in the report.
Recommendations This section shows the recommendations for various performance use cases. When the triggers are evaluated, if a trigger condition is met for a performance use case, related recommendations are provided by corresponding recommendation providers and shown in the report.