Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Indicator VariableMetric
$js7SubagentProcessCountNumber of processes running with the Subagent.
$js7ClusterSubagentProcessCountNumber of processes running with the Subagent for the given Subagent Cluster running with the Subagent.


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

$js7CpuLoad

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 load is not available for MacOS and is reported as missing.

$js7CommittedVirtualMemorySize

Returns the amount of virtual memory that is guaranteed to be available to the running process in bytes, or -1 if this operation is not supported.

A negative value is reported as missing.

$js7FreeMemorySize

Returns the amount of free memory in bytes.

Returns the amount of free memory.

$js7TotalMemorySize

Returns the total amount of memory in bytes.

Returns the total amount of memory

Expressions

  • Expressions are evaluated per Subagent & job and must return numeric values. Expressions can return a missing value indicating that the related Subagent should not be considered.
  • The Subagent with the lowesthighest priority value including negative numbers will be used for the next task.
  • If the expression evaluates to missing values for all Subagents in the Subagent Cluster, then job execution will be deferred and evaluation of the expression will be repeatedly performed with a 1s interval. Orders waiting for a Subagent to become available for job execution are displayed with a waiting state.

Examples:

ExpressionMeaning
-$js7SubagentProcessCountExample for consideration of the Subagent with the least number of tasks running for any Subagent Cluster that the Subagent is a member of.
-$js7ClusterSubagentProcessCountExample for consideration of the Subagent with the least number of tasks running for the given Subagent Cluster.
if $js7SubagentProcessCount == 0 then 1 else missingExample for conditional use of a Subagent if it does not run any tasks.
if $js7ClusterSubagentProcessCount == 0 then 1 else missingExample for conditional use of a Subagent if it does not run any tasks in the given Subagent Cluster
if $js7SubagentProcessCount = < 10 then -$js7SubagentProcessCount else missingExample for conditional use of a Subagent if it runs fewer than 10 tasks.
if $js7ClusterSubagentProcessCount = < 10 then -$js7ClusterSubagentProcessCount else missingExample for conditional use of a Subagent if it runs fewer than 10 tasks for the given Subagent Cluster.

-

1 / (

$js7CpuLoad * 2

- 1/$js7FreeMemorySize +

+ $js7FreeMemorySize / 1000000000 - $js7SubagentProcessCount * 3

)

Example for least consumption of CPU weighted by 2, free Memory and the least overall number of tasks running in the Subagent weighted by 3.

...