Page History
...
A Subagent Cluster can include a single Subagent, a number of Subagents or all Subagents. Each next task is executed on the Subagent that best matches metrics defined per Subagent in a Cluster.
Director Agents in a Subagent Cluster can take an active part in job execution. Users are free to add Director Agents to a given Subagent Cluster. A minimum metrics-based Subagent Cluster includes 2 Director Agents for job execution.
Metrics
Metrics are used to identify the matching Subagent for execution of the next jobs. Metrics include to evaluate indicator values such as the number of processes, CPU load and memory consumption to decide which Subagent best matches for execution of the next job.
...
- Director Agent
- The Director Agent receives indicator values from Subagents at an ongoing basis approx. every second.
- Additional indicators are provided by the Director Agent:
- number of jobs running in a Subagent Cluster.
- number of jobs running per Subagent in a Subagent Cluster
- The Director Agent will check indicators provided by Subagents to decide which Subagent should execute the next job. If a Subagent does not provide indicators then it is not considered for execution of the next job.Director Agents in a Subagent Cluster can take an active part in job execution. Users are free to add Director Agents to a given Subagent Cluster.
- Subagent Cluster
- The Subagent Cluster configuration allows specification of an expression for the priority attribute of each Subagent:
- An expression language is available that offers algebraic functions to be used for the priority attribute.
- Indicators
- Indicators are made available from variables that can be used in a priority expression.
- Indicators are made available from variables that can be used in a priority expression.
- The Subagent Cluster configuration allows specification of an expression for the priority attribute of each Subagent:
Indicator Variable | Metric |
---|---|
$js7SubagentProcessCount | Number of processes running with the Subagent. |
$js7ClusterSubagentProcessCount | Number of processes running with the Subagent for the given Subagent Cluster. |
The following indicators are available as explained with https://docs.oracle.com/en/java/javase/17/docs/api/jdk.management/com/sun/management/OperatingSystemMXBean.html | |
| Returns the "recent cpu usage" for the operating environment. This value is a double in the [0.0,1.0] interval. A value of 0.0 means that all CPUs were idle during the recent period of time observed, while a value of 1.0 means that all CPUs were actively running 100% of the time during the recent period being observed. All values betweens 0.0 and 1.0 are possible depending of the activities going on. If the recent cpu usage is not available, the method returns a negative value. A negative value is reported as missing. CPU Load is not available for MacOS and is reported as missing. |
| Returns the amount of virtual memory that is guaranteed to be available to the running process in bytes, or A negative value is reported as missing. |
| Returns the amount of free memory in bytes. |
| Returns the total amount of memory in bytes. |
...