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