TIBCO BW Performance Monitoring Using JConsole

Performance monitoring of TIBCO BW based applications is an important task in any organization to ensure that memory, CPU and other resources are used efficiently and to identify or detect any abnormal behaviours in the developed solutions to take any corrective or pre-emptive measures before the real catastrophic situations.

There are different ways and different tools available which can be used to monitor TIBCO BW based solution’s performance after deploying into the administrator. One such famous tool is JConsole (Java Monitoring and Management Console) which is a JMX-compliant monitoring tool and comes clubbed with JDK.

In this post; I am going to explain step by step how to monitor performance of a deployed TIBCO solution using JMX Console.

Step 0: Develop and Deploy a TIBCO BW solution

I am calling this step as Step 0 as this is something that should be already done by you; i.e. you should have already designed and developed some TIBCO solution and deployed in the server using TIBCO administrator.

For this example; I have created a simple solution that is based on HTTP protocol. The deployed solution has one interface exposed which listens on a specific HTTP Port and expects one parameter as input (name) and sends back a response message or an error message in case of any error or exception.

I am not going to dig deep into the development part of this simple solution as focus here is to explain the performance monitoring part.

Step 1: Update Application TRA with JMX monitoring Configurations

In order to monitor performance of a specific TIBCO solution; you need to add a few lines into the TRA file of that application. In my example case; I have an application deployed in the administrator with the name PerformanceTesting. In order to monitor performance of this application; I need to update the TRA file PerformanceTesting-Process_Archive.tra available on the below path:

C:\tibco\tra\domain\DOMAIN_NAME\application\PerformanceTesting\

Following lines need to be added to this TRA file:

Jmx.Enabled=true

java.property.com.sun.management.jmxremote=true

java.property.com.sun.management.jmxremote.port=8999

java.property.com.sun.management.jmxremote.authenticate=false

java.property.com.sun.management.jmxremote.ssl=false

java.extended.properties=-XX\:+PrintGCDetails -Xloggc\:/tmp/ESB-gc.log

 

 

Once the above JMX configurations have been added in the tra file; you need to restart the service from administrator.

Step 2: Monitor TIBCO Performance using JConsole

Once you have updated the TRA file with JMX specifications and restarted the service; open JConsole application for monitoring. JConsole should be present in the bin folder of your JDK.

Once you open JConsole; in the login window; choose Remote Process option and specify hostname and port in the text box. Port should be same as the one given in the TRA file in previous step.

Since we set jmxremote.authenticate option as false in our TRA configurations; there is no need to specify username and password.

jmx remote connection to tibco process

 

Now click on the Connect button. You will get a message regarding failure to connect securely; just ignore it and choose the option to connect insecurely.

Once you are connected; you will see window like below showing memory, CPU utilization graphs along with threads and classes statistics:

tibco jconsole memory and cpu utilization graphs

Now, you can start sending more loads to your running process (by sending HTTP data in bulk) and you will see the changing graphs in real time. This way you can analyse the performance and observe the trends in order to ensure that your application can cope with the production data loads.

 

Ajmal Abbasi

Ajmal Hussain Abbasi is Integration Consultant By Profession with 13+ years experience in Integration domain mainly with TIBCO products. He has extensive practical knowledge of TIBCO Business Works, TIBCO Cloud, TIBCO Flogo, TIBCO Mashery, TIBCO Spotfire, EMS and TIBCO ActiveSpaces. He has worked on a number of highly critical integration projects in various sectors by using his skills in TIBCO Flogo, TIBCO API Management (Mashery), TCI, Tibco Designer, TIBCO Business Studio, Adapters, TIBCO EMS, RV, Administrator, TIBCO BE, TIBCO ActiveSpaces etc. Ajmal Abbasi has experience with MuleSoft ESB as well. Ajmal Abbasi is also experienced in the area of API Management particularly with WSO2 API management platforms. Ajmal Abbasi is also experienced in developing solutions using Core Java and J2EE Technologies. You can contact Ajmal Abbasi for Consultancy, Technical Assistance and Technical Discussions.

More Posts - Website - Facebook - LinkedIn - YouTube

5 thoughts on “TIBCO BW Performance Monitoring Using JConsole

  1. Ajay Kumar Kasam

    good one, one clarification
    1. for monitoring one service, we gave 8999. for monitoring each service do we need to give unique port.
    2. lets say we have 50 tibco bw applications on a particular machine, do we need to give 50 unique ports to each of these bw applications and then monitor them separately using different instances of jconsole (each connecting to each of the bw applications)

    3. is there a better tool, just connect to domain and machine, and get to see different applications (tibco administrator) and then select the application you would like to monitor which shows real time graphical view of the CPU, Memory)

    Reply
  2. Ajay Kumar Kasam

    Hi,
    I tried without administrator setup

    1. added the JMX configuration lines to TIBCO_HOME\bw\\bin\bwengine.tra
    2. started the designer, loaded and run the bw application with sleep in it
    3. jconsole says connection refused when tried to connect to localhost:

    Thanks in advance for any help to resolve this

    Reply

Leave a Reply to Federico Fontana Cancel reply

Your email address will not be published. Required fields are marked *