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 following metric is available per broker resources type :

Metrics Comment
percentUsage Used percentage of the given resources. This metric is given directly by ActiveMQ.

The following metrics are available per topic, also read from ActiveMQ.
More details on ActiveMQ documentation

Metrics Comment
MessageCount Size of queue for messages not delivered (the dispatched queue size) on the selected period
DequeueCount number of messages removed from the queue (ack’d by consumer) on the selected period
EnqueueCount number of messages sent to the queue on the selected period

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
Hpa|Messaging|EventServer|hex-perf1|admin|topic/calypso|EventType in ('PSEventTrade','PSEventProcessTrade','PSEventTime','PSEventEngineRequest','PSEventDomainChange','PSEventManualLiquidatedPosition','PSEventQuote','PSEventQuoteRemoved','PSEventMarketDataChange','PSEventMDataConfigChange','PSEventCreditRating','PSEventProductCreditRating'):DequeueCount