This article explains the function of the
DX_Correlator queue which is included in the output of the following command:
dmctl -s <domain name> exec dmdebug --queues --output=<file name>
The DX_Correlator queue is an interface which allows other modules to activate/cancel/suspend/reject/accept the monitoring of events/symptoms/problems. The DX_Correlator queue interface can also be used for notifying occurred events or dumping debug information related to the code book or change parameters related to correlation algorithms.
The size of the queue indicates how many calls had been submitted to DX_Correlator through the interface at that particular moment. The calls could be associated with requests that come in or results that go out.
If the size of the queue is persistently large over a long time when checked using dmctl, it could indicate the system is a little overloaded. That is, the calls that are submitted to DX_Correlation can not be quickly served and therefore, the calls are delayed in the queue. Persistent large queue size of DX_Correlation might have temporary performance implication.
A spike of the queue size might be caused by the following reasons -
-
There is a large number of subscriptions and cancellations submitted from users.
-
There is big topology change in the system.
-
The machine is slightly overloaded, and the calls can not be processed quickly enough.
Generally, temporary spikes should be cleared in time when the system is in a stable condition. Though it may cause temporary delay of event subscription or cancellation, it should not cause any functional error.
If the queue is persistently growing, it may cause a perceivable performance issue, which generally is the result of an overloaded host.