Context
Calypso use a JMS server to spread events to different modules. The JMS server is called Event Server in Calypso documentation.
Through the different Calypso version from V14, the Event Server implementation has changed :
- V14-V16 : HornetQ or ActiveMQ-Artemis implementation
- V17+ : ActiveMQ
The consequence is that metrics gathered are not exactly the same.
The main goal is to count number of undelivered messages, and monitor the JMS server health.
Metrics
All events metrics are store with the prefix Hpa|Messaging
.
Under this level we have different branches :
HornetQ/Artemis based implementation (V14-V16)
The next level is a list of queues with :
- The queue name is
<username>+<hash of the event filter>
- (full filter is available in the log file of the agent)
- For each queue, the following metrics are available :
Metrics | Comment |
---|---|
MessageCount | Number of messages in the queue |
ScheduledCount | Number of scheduled messages in the queue. |
DeliveringCount | Number of messages being delivered |
TotalCount | Total number of messages ever sent to the queue |
An additional metric is also recorded, the JMS pool size availability for the JMS threads. It has the prefix :
Hpa|Pool|JBossMessaging-
. It is displayed in the Resources
tab of each JVM where it is available.
Metrics | Comment |
---|---|
available | Number of threads available in the pool |
queueSize | Size of queue for the awaiting messages |
Example :
Hpa|Messaging|admin-690182985:DeliveringCount
Hpa|Pool|JBossMessaging-ActiveMQThreadPoolExecutor:available
Hpa|Pool|JBossMessaging-ActiveMQThreadPoolExecutor:queueSize
ActiveMQ based implementation (V17+)
For ActiveMQ, the next levels are :
-
Brokers|Usage|<broker name>_jobScheduler
-
Brokers|Usage|<broker name>_memory
-
Brokers|Usage|<broker name>_store
-
Brokers|Usage|<broker name>_temp
-
<broker name>|<clientHost>|<userName>|<topic name>|<event filter>
The metrics available are :
Metrics | Comment |
---|---|
percentUsage | Used percentage of the ressources. This metric is given directly by ActiveMQ |
MessageCount | Size of queue for messages not delivered (this dispatched queue size) |
Examples :
Hpa|Messaging|Brokers|Usage|default_memory_topic_//topic/calypso_memory:percentUsage
Hpa|Messaging|Brokers|Usage|default_temp_topic_//topic/calypso_temp:percentUsage
Hpa|Messaging|Brokers|Usage|default_jobScheduler_topic_//topic/calypso_jobScheduler:percentUsage
Hpa|Messaging|Brokers|Usage|default_store_topic_//topic/calypso_store:percentUsage
Hpa|Messaging|EventServer|hex-perf1|admin|topic/calypso|EventType in ('PSEventDist','PSEventDispatcherStart'):MessageCount