You can configure a connector to pause tasks temporarily if performance indicators on the local machine or a remote machine breach certain limits. For example, if there is a high load on the CPU or memory of the repository from which you are retrieving information, you might want the connector to pause until the machine recovers.
Note: Performance monitoring is available on Windows platforms only. To monitor a remote machine, both the connector machine and remote machine must be running Windows.
To configure the connector to pause
Find the [FetchTasks]
section, or a [TaskName]
section.
[FetchTasks]
section.[TaskName]
section for the task.Set the following configuration parameters:
PerfMonCounterNameN
|
The names of the performance counters that you want the connector to monitor. You can use any counter that is available in the Windows perfmon utility. |
PerfMonCounterMinN
|
The minimum value permitted for the specified performance counter. If the counter falls below this value, the connector pauses until the counter meets the limits again. |
PerfMonCounterMaxN
|
The maximum value permitted for the specified performance counter. If the counter exceeds this value, the connector pauses until the counter meets the limits again. |
PerfMonAvgOverReadings
|
(Optional) The number of readings that the connector averages before checking a performance counter against the specified limits. For example, if you set this parameter to 5 , the connector averages the last five readings and pauses only if the average breaches the limits. Increasing this value makes the connector less likely to pause if the limits are breached for a short time. Decreasing this value allows the connector to continue working faster following a pause. |
PerfMonQueryFrequency
|
(Optional) The amount of time, in seconds, that the connector waits between taking readings from a performance counter. |
For example:
[FetchTasks] PerfMonCounterName0=\\machine-hostname\Memory\Available MBytes PerfMonCounterMin0=1024 PerfMonCounterMax0=1024000 PerfMonCounterName1=\\machine-hostname\Processor(_Total)\% Processor Time PerfMonCounterMin1=0 PerfMonCounterMax1=70 PerfMonAvgOverReadings=5 PerfMonQueryFrequency=10
Note: You must set both a minimum and maximum value for each performance counter. You can not set only a minimum or only a maximum.
To determine whether an action has been paused for performance reasons, use the QueueInfo
action:
/action=queueInfo&queueAction=getStatus&queueName=fetch
You can also include the optional token
parameter to return information about a single action:
/action=queueInfo&queueAction=getStatus&queueName=fetch&token=...
The connector returns the status, for example:
<autnresponse> <action>QUEUEINFO</action> <response>SUCCESS</response> <responsedata> <actions> <action owner="2266112570"> <status>Processing</status> <queued_time>2016-Jul-27 14:49:40</queued_time> <time_in_queue>1</time_in_queue> <process_start_time>2016-Jul-27 14:49:41</process_start_time> <time_processing>219</time_processing> <documentcounts> <documentcount errors="0" task="MYTASK"/> </documentcounts> <fetchaction>SYNCHRONIZE</fetchaction> <pausedforperformance>true</pausedforperformance> <token>...</token> </action> </actions> </responsedata> </autnresponse>
When the element pausedforperformance
has a value of true
, the connector has paused the task for performance reasons. If the pausedforperformance
element is not present in the response, the connector has not paused the task.
|