How to get JVM details on a running BE application

How to get JVM details on a running BE application

book

Article ID: KB0073433

calendar_today

Updated On:

Products Versions
TIBCO BusinessEvents Enterprise Edition 5.6 and later

Description

How can I get JVM details on a running be-engine for troubleshooting/monitoring purposes?

Environment

All Supported Platforms

Resolution

First, determine the process ID of the running be-engine using the follow OS-level commands..

Linux example:
$ ps -aux | grep "be-engine"
sbadmin   1047  461  3.9 5397592 512072 pts/2  Rl+  10:33   0:13 ./be-engine -n linux1 -c /mnt/c/Users/MyUser/Documents/sc-kafka-be561-3/KafkaChannel/kafka.cdd -u producer /mnt/c/ears/KafkaChannel.ear --innerProcess
Here, the process id is 1047.

Windows example:
> tasklist /FI "IMAGENAME eq be-engine.exe"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
be-engine.exe                30368 Console                    1    434,068 K
Here, the process id is 30368

If there are multiple engines running, you can use the jinfo utility to get additional details about each running engine and differentiate between them. The jinfo utility is provided with your TIBCO JRE installation under $TIBCO_HOME/tibcojre64/<version>/bin/jinfo.

Linux examples:
$ jinfo 1047 | grep ^cluster\.name\=
<returns the BE cluster name>

$ jinfo 1047 | grep ^com\.tibco\.be\.config\.path\=
<returns the CDD file used by the running engine>

$ jinfo 1047 | grep ^com\.tibco\.be\.config\.unit\.id\=
<returns the processing unit name>
Windows examples:
$ jinfo 30368 | findstr ^cluster\.name\=
$ jinfo 30368 | findstr ^com\.tibco\.be\.config\.path\=
$ jinfo 30368 | findstr ^com\.tibco\.be\.config\.unit\.id\=
Other system properties provided by jinfo:
  • tibco.repourl (the path to the deployed EAR file)
  • tibco.env.JVM_LIB_PATH (the Java library path)
  • java.extended.properties (e.g -Xmx, -Xss, etc)
  • application.processid (the process id)
  • tibco.env.BE_HOME (the path to the BE installation)
  • java.home (the path to the JRE installation, e.g. /opt/tibco/tibcojre64/11)
  • be.trace.log.dir (the path where the application's logs are stored, if you're not using a custom logging configuration)
  • java.runtime.version (detailed version of the JRE, e.g. 11.0.9+7-LTS)
  • user.name (the OS user who started the be-engine process)
  • file.encoding (e.g. UTF-8)
  • java.library.path (the JRE library path)
  • java.class.path (the application's full classpath)
  • os.name (e.g. Linux)
  • os.version (the version of the OS)
  • tibco.env.CUSTOM_EXT_APPEND_CP (prepended entries to the classpath, set in the TRA file)
  • tibco.env.PATH (the PATH for the application's environment)
  • tibco.env.DYLD_LIBRARY_PATH (the dynamic library path for this application)
  • be.bootstrap.property.file (the path to the TRA file being used by this application)
  • jvm_args (all jvm arguments for this application)

Issue/Introduction

Discusses how to use jinfo and other command-line tools to get JVM details on a running BE application.

Additional Information

Oracle Help for jinfo