Logging correlator-integrated messaging for JMS status
The correlator writes status information to its log file every five seconds or at an interval that you set with the --logQueueSizePeriod
option. In addition to the standard correlator status information described in Descriptions of correlator status log fields, correlators that are configured for integrated messaging log JMS status information. This information is logged in the following form:
INFO [20032] - Correlator Status: sm=2 nctx=1 ls=4 rq=0 eq=0 iq=0 oq=0 rx=8
tx=6 rt=0 nc=1 vm=251384 pm=956240 runq=0
INFO [20032:Status] - JMS Status: s=1 tx=6 sRate=1,200 sOutst=9,005 r=2
rx=4 rRate=1,180 rWindow=-1 rRedel=3 rMaxDeliverySecs=2.1
rDupsDet=2 rDupIds=2,005,023 connErr=2 jvmMB=49
Status information logged by correlators that are configured for integrated messaging is described in the following sections.
The following table describes the correlator log fields related to JMS:
Field |
Full name |
Description |
---|---|---|
|
Number of senders |
The current number of JMS senders (both static and dynamic) on all JMS connections. |
|
Sent events |
The total number of events sent to all JMS sender channels and which have been fully processed (either sent to JMS or exhausted the maximum failure retry limit). Includes events sent to dynamic senders that have since been removed, but does not include events sent before the correlator was restarted. |
|
Send throughput rate |
The total number of events sent per second across all senders, calculated over the interval since the last status line (typically 5 seconds). |
|
Outstanding sent events |
The total number of events that have been sent by EPL but are still queued waiting to be sent to JMS. |
|
Number of receivers |
The current number of JMS receivers (both static and dynamic) on all JMS connections. |
|
Received messages |
The total number of messages received from JMS, including messages received but not yet mapped to Apama events and added to the input queue of each public context. Includes events received by dynamic receivers that have now been removed, but does not include events received before the correlator was restarted, nor does it include any |
|
Received throughput rate |
The total number of JMS messages received per second across all receivers, calculated over the interval since the last status line (typically 5 seconds). |
|
Receiver flow control window size |
If |
|
Redelivered messages |
The total number of JMS messages received with the |
|
Maximum delivery time |
The highest time taken by the JMS broker to deliver a message, based on the difference between the time when each message is received and the value of the |
|
Duplicate messages detected |
The total number of duplicate messages detected by |
|
Duplicate ids in memory |
The total number of |
|
Connection errors |
The total number of times a valid JMS connection has gone down. Note that this tracks errors in existing connections and does not include repeated failures to establish a connection. |
|
JVM used memory |
The amount of memory used by the JVM in Megabytes (heap plus non-heap), which can be compared with the maximum memory size provided for the JVM to check how much spare memory there is and ensure that the correlator is not close to running out of memory. This is particularly useful for checking peak memory consumption, such as testing when any |
|
onApplication Initializedindicator |
The suffix |
Detailed JMS status lines
If the logDetailedStatus
property in an Apama application that uses correlator-integrated messaging for JMS is set to true
in the JmsSenderSettings
or JmsReceiverSettings
configuration object, then additional lines will also be logged for each sender and receiver and their parent connections, for example.
INFO [19276] - Correlator Status: sm=2 nctx=1 ls=4 rq=0 eq=0 iq=0 oq=0
rx=8 tx=6 rt=0 nc=1 vm=252372 pm=956240 runq=0
INFO [19276:Status] - JMS Status: s=1 tx=6 sRate=0 sOutst=0 r=2 rx=4
rRate=0 rWindow=1500 rRedel=0
rMaxDeliverySecs=0.0 rDupsDet=1 rDupIds=3
connErr=0 jvmMB=67
INFO [19276:Status] - JMSConnection myConnection: s=1 r=2 connErr=0
sessionsCreated=3
INFO [19276:Status] - JMSSender myConnection-default-sender: tx=6
sRate=0 sOutst=0 msgErrors=2
INFO [19276:Status] - JMSReceiver myConnection-receiver-SampleQ2:
rx=4 rRate=0 rWindow=1500 rRedel=0
rMaxDeliverySecs=0.0 msgErrors=1 rDupsDet=1
perSourceDupIds=3 timeExpiryDupIds=0 maxMsgKB=1,650.9
INFO [19276:Status] - JMSReceiver myConnection-receiver-SampleT2:
rx=0 rRate=0 rWindow=-1 rRedel=0
rMaxDeliverySecs=0.0 msgErrors=0 rDupsDet=0
perSourceDupIds=0 timeExpiryDupIds=0 maxMsgKB=1,245.7
INFO [19276:Status] - JMSReceiver myConnection-receiver-apama-queue-01:
rx=5 rRate=0 rWindow=96 rRedel=0
rMaxDeliverySecs=0.0 msgErrors=1 rDupsDet=1
perSourceDupIds=4 timeExpiryDupIds=0 maxMsgKB=1,000.2
The JMS connector-specific status lines contain:
Field | Full name | Description |
---|---|---|
s |
Number of senders | The current number of JMS senders (both static and dynamic) on all JMS connections. |
r |
Number of receivers | The current number of JMS receivers (both static and dynamic) on all JMS connections |
connErr |
Connection errors | The total number of times this JMS connection has gone down, Note that this tracks errors in existing connections and does not include repeated failures to establish a connection. |
sessionsCreated |
Send/receive sessions created | The total number of JMS sessions that have been created during the lifetime of this JMS connection. In normal operation a single session is created for each sender or receiver, but if a connection failure or serious sender/receiver error occurs, a new session will be created, causing this counter to be incremented. Note, this counter is not decremented when the previous session is closed. |
The JMS sender-specific status lines contain:
Field | Full name | Description |
---|---|---|
tx |
Sent events | The number of events that were sent to this sender’s channel and have been fully processed (either sent to JMS, or exhausted the maximum failure retry limit). |
sRate |
Send throughput rate | The number of events sent per second to this sender, calculated over the interval since the last status line (typically 5 seconds). |
sOutst |
Outstanding sent events | The number of events that have been sent by EPL but are still queued waiting to be passed to JMS by this sender. |
sMsgErrors |
Per-message error count | The number of Apama events that could not be sent to JMS due to some error, typically a mapping failure or destination not found error. See the log file for WARN and ERROR messages that will provide more details. |
The JMS receiver-specific status lines contain:
Field | Full name | Description |
---|---|---|
rx |
Received messages | The number of messages received from JMS, including messages received but not yet mapped to Apama events and added to the input queue of each public context. |
rRate |
Receive throughput rate | The number of JMS messages received per second by this receiver, calculated over the interval since the last status line (typically 5 seconds). |
rWindow |
Flow control window size | If receiverFlowControl is disabled this has the special value “-1 ”. If it is enabled, this gives the current flow control window size, that is the number of successfully mapped events that can still be received before the receiver will block. A zero value indicates that the flow control window has been exhausted and the application should call JMSReceiverFlowControlMarker. updateFlowControlWindow() to unblock the receiver. A negative value indicates that the window has been updated to a negative value, which has the same effect as a window of 0 . |
rRedel |
Redelivered messages | The number of JMS messages received with the JMSRedelivered flag set to true . |
rMaxDeliverySecs |
Maximum delivery time | The highest time taken by the JMS broker to deliver a message to this receiver, based on the difference between the time when each message is received and the value of the JMSTimestamp message header field which indicates the time when it was sent. |
rMsgErrors |
Per-message error count | The number of received JMS messages that could not be passed to the Apama application due to some error, typically a mapping failure. See the log file for WARN and ERROR messages that will provide more details. |
rDupsDet |
Duplicate messages detected | The number of duplicate messages detected by this EXACTLY_ONCE receiver and suppressed because their uniqueMessageId was already present in this receiver’s duplicate detector. Only displayed for EXACTLY_ONCE receivers. |
perSourceDupIds |
Per-source duplicate ids in memory | The total number of uniqueMessageId s being kept in memory for duplicate detection purposes by all per-message-source fixed-size expiry queues. Only displayed for EXACTLY_ONCE receivers. |
timeExpiryDupIds |
Time-based duplicate ids in memory | The total number of uniqueMessageId s being kept in memory for duplicate detection purposes by the unbounded time-based expiry uniqueMessageId queue. |
maxMsgKB |
Maximum message size received so far | The maximum size in kilobytes of JMS messages that have been received so far. |