Deploying and Managing Apama Applications > Event Correlator Utilities Reference > Starting the event correlator > Logging correlator status
Logging correlator status
The correlator sends information to its status log file every five seconds or at an interval that you set with the --logQueueSizePeriod option. When logging at INFO level, this information contains the following:
Status: sm=2 nctx=2 ls=3 rq=0 eq=0 iq=0 oq=0 icq=12 lcn="input ctx one"
lcq=12 lct=0.8 rx=5 tx=20 rt=7 nc=1 vm=369768 runq=0 si=0.0 so=0.0
Where the fields are as follows:
Correlator status log fields
Field
Description
sm
Number of monitor instances, sometimes called sub-monitors. This is the sum of monitor instances in the main context plus monitor instances in any other context.
nctx
Number of contexts. For applications developed prior to Apama 4.1, this is always 1.
ls
Number of listeners. This is the sum of listeners in the main context plus listeners in any other context. This includes each on statement and each stream source template, for example, all Tick(symbol=”APMA”) in the following: stream<Tick> ticks := all Tick(symbol=”APMA”);
rq
Sum of the number of routed events on the input queues of all contexts. A routed event is any event that has been generated by the EPL’s route keyword or Java’s route() method. A routed event goes to the front of that context's input queue. This ensures that the correlator processes routed events before processing external events. This number can go up and down, and it tends to be 0 for an idle correlator.
eq
Number of events on the enqueued events queue. An enqueued event is any event that has been generated with the EPL enqueue keyword (not enqueue...to) or Java’s enqueue() method. A separate thread moves events from the enqueued events queue to the input queue of each public context. The size of the enqueued events queue is unbounded. Consequently, it is possible for this queue to use a large amount of memory if one or more input queues are full.
iq
Sum of the number of entries on the input queues of all contexts. This number excludes routed events. It includes events from external sources, injections of EPL files, delete requests, time ticks, pending spawn-to operations, and enqueued events. This number goes up and down, and tends to be 0 for an idle correlator. It is possible for the total number of input queue entries (iq) to be greater than the number of events the correlator has received from external sources (rx).
oq
Number of events on the correlator’s output queue. This is the number of events that the correlator has emitted but not yet sent to any receivers. If the correlator is idle, this number is 0.
icq
Sum of enqueued events on the input queues of all public contexts. These events are a subset of the events included in the iq count.
lcn
The name of the public context whose input queue is most backed up in time. This is not necessarily the public context whose input queue has the largest number of entries. If no public context has entries on its input queue then this value is "<none>". The name of the main context is always main.
lcq
For the context identified by lcn, this is the number of entries on the most backed up input queue.
lct
For the context identified by lcn, this is the time difference between its current logical time and the most recent time tick added to its input queue.
rx
Number of events the correlator has received from external sources since the correlator was started. The correlator increments this count as soon as it receives an event. After incrementing this count, the correlator parses the event to determine if it is an event for which a definition has already been injected. If the correlator can successfully parse the event, the event goes to the input queue of each public context. If the correlator cannot parse the event, the correlator discards the event.
This is not the number of events that the correlator has processed. This count does not include routed and enqueued events.
This number never goes down; it can only go up.
tx
Number of events the correlator has sent to receivers since the correlator was started. This number includes duplicate events sent to multiple receivers. For example, suppose you inject EPL code that emits an event, and there are five receivers that are subscribed to channels that publish that event. In this situation, the tx count goes up by five. Although there was 1 event, it was sent five times — once to each subscribed receiver.
rt
Total number of events that have been routed across all contexts since the correlator was started.
nc
Number of receivers.
vm
Number of kilobytes of virtual memory being used by the correlator process.
runq
Number of contexts (public and private) that have work to do but are not currently running. These contexts are waiting for processing resources. This indicator is a measure of the load on the system. When this number is consistently more than 0 and latency is a problem you might want to consider adding CPUs to your configuration.
si
The rate (pages per second) at which pages are being read from swap space.
so
The rate (pages per second) at which pages are being written to swap space.
Logging for correlators with JMS support enabled
Correlators with Correlator-integrated JMS support enabled send additional information to the status log file. For details on this information, see Logging JMS enabled correlator status.
Copyright © 2013 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or Terracotta Inc., San Francisco, CA, USA, and/or Software AG (Canada) Inc., Cambridge, Ontario, Canada, and/or, Software AG (UK) Ltd., Derby, United Kingdom, and/or Software A.G. (Israel) Ltd., Or-Yehuda, Israel and/or their licensors.