pd.log.EventPool.queue component
The
pd.log.EventPool.queue component
is the main
event propagation queue. Use the statistics interface to monitor: - The queuing profiles that are configured for the main propagation queue.
- Each file agent.
- Remote agent.
- Pipe log agent.
Each queue that is created as an instance
of the EventQueue object
registers itself with the statistics subsystem with its category name.
The category name is constructed from the logging agent type and the pd.log string.
The following example shows the output from a stats get command
for the pd.log.EventPool.queue component:
#pdadmin> server task ivacld-instance stats get \
pd.log.EventPool.queue
dispatcher wakes on timeout (20) : 3617
dispatcher wakes by notify : 0
notifies above highwater (100) : 0
notifies below highwater : 0
spurious notifies : 0
total events processed : 24
average number of events handled per activation : 1
greatest number of events handled per activation : 7
blocks in queue requests : 0In the previous output:
- The flush frequency for the queue is
20, the value that is denoted in the parentheses aftertimeout. - The high water setting for the queue is
100, the value that is denoted in the parentheses afterhighwater.
The settings that are defined for the various queue configuration
options must attempt to balance:
- The maximum amount of memory that is consumed between queue activations, and
- The rate at which a particular log agent can consume events.
Set the queue high water mark such that the number of events that are processed during a queue activation fills a processing time slice. This setting avoids unnecessary thread context-switching. However, setting these options to large values is not productive. The reason is that event log processing must be done at some point and cannot be deferred indefinitely. Consuming large amounts of memory has its own drawbacks.