jvm_monitor does not send QOS_DEFINITION for QOS_JVM_THREADCOUNT

Document ID : KB000117082
Last Modified Date : 08/10/2018
Show Technical Document Details
Issue:
I have activated the "Thread Count" QOS in jvm_monitoring but data is not coming into the database. Looking at DrNimbus I found out that probe does not send QOS_DEFINITON for this specific metric with the QOS Deinition messages for QOS_JVM_THREADCOUNT.

However, the monitor "Thread Count" sends that data correctly with QOS_MESSAGES. For this Reason data for the specific QOS is not available.

User-added image
 
Environment:
UIM 8.x
jvm_monitor 1.48
Cause:
This is a known issue for the ThredCount  (QOS_JVM_THREADCOUNT) monitor.
For QOS_MESSAGE messages to be stored to the database a previous bus message with the QOS_DEFINITION for the same metric type must be received by the data_engine.
For some reason, the specific monitor JVM> java.lang > Threading > Name > ThredCount  (QOS_JVM_THREADCOUNT) does not send the definition on probe start or after saving the monitor. The probe though sends the QOS_DEFINITION for QOS_JVM_THREADCOUNT if activated on different monitors within the same resource.
Resolution:
WORKAROUND:

The workaround consists in activating any other monitor for the QOS "QOS_JVM_THREADCOUNT" in order to create the definition on the DB. Once it is created, the QOS from the monitor ThredCount will be stored correctly.

INSTRUCTIONS:

1. Activate the QOS for the monitor "PeakThreadCount" (under the same folder under threading) - by default it defines: QOS_JVM_THREADCOUNT
2. Apply and save.
3. If you don't want to monitor "PeakThreadCount" deactivate it.
4. ThreadCount QOS is now stored on DB as definition was created by PeakThreadCount so ThredCount  QOS is now stored.
Additional Information:
jvm_monitor Release Notes