{%TEMPLATE->struct/head%} {%TEMPLATE->struct/menu%}

Agents status ([[sizeof([[agents]])]])

{%TEMPLATE->struct/messages%}

Average device utilisation

{{FOREACH agent;[[agents]]}}
ID: [[agent.getId()]]

[[AgentUtils::getDeviceUtilStatusValue([[deviceStats.getVal([[agent.getId()]])]])]]
{{ENDFOREACH}}
Device utilisation is good (> [[config.getVal([[$DConfig::AGENT_UTIL_THRESHOLD_1]])]]%)
Device utilisation not ideal (<= [[config.getVal([[$DConfig::AGENT_UTIL_THRESHOLD_1]])]]%)
Device utilisation low (<= [[config.getVal([[$DConfig::AGENT_UTIL_THRESHOLD_2]])]]%)
Agent is not active
Agent is active but not working or not providing device data
Invalid device data from agent or values being 0

Highest device temperature

{{FOREACH agent;[[agents]]}}
ID: [[agent.getId()]]

[[AgentUtils::getDeviceTempStatusValue([[deviceTemps.getVal([[agent.getId()]])]])]]
{{ENDFOREACH}}
Device temperatures good (<= [[config.getVal([[$DConfig::AGENT_TEMP_THRESHOLD_1]])]]°C)
Device temperatures acceptable (<= [[config.getVal([[$DConfig::AGENT_TEMP_THRESHOLD_2]])]]°C)
Device temperatures too high (> [[config.getVal([[$DConfig::AGENT_TEMP_THRESHOLD_2]])]]°C)
Agent is not active
Agent is active but not working or not providing device data
Invalid device data from agent or values being 0

Average CPU utilisation

{{FOREACH agent;[[agents]]}}
ID: [[agent.getId()]]

[[AgentUtils::getCpuUtilStatusValue([[cpuStats.getVal([[agent.getId()]])]])]]
{{ENDFOREACH}}
CPU utilisation is good (> [[config.getVal([[$DConfig::AGENT_UTIL_THRESHOLD_1]])]]%)
CPU utilisation not ideal (<= [[config.getVal([[$DConfig::AGENT_UTIL_THRESHOLD_1]])]]%)
CPU utilisation low (<= [[config.getVal([[$DConfig::AGENT_UTIL_THRESHOLD_2]])]]%)
Agent is not active
Agent is active but not working or not providing CPU data
Invalid CPU data from agent or values being 0

Agents activity ([[sizeof([[agents]])]])

{{FOREACH agent;[[agents]]}} {{ENDFOREACH}}
Agent ID Name Currently working on Assigned to Last activity
{{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_AGENT_ACCESS]])]]}} [[agent.getId()]] {{ELSE}} [[agent.getId()]] {{ENDIF}} {{IF [[activeAgents.getVal([[agent.getId()]])]] == 1}} {{ENDIF}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_AGENT_ACCESS]])]]}} [[agent.getAgentName()]] {{ELSE}} [[agent.getAgentName()]] {{ENDIF}} {{IF [[agent.getIsTrusted()]] == 1}} {{ENDIF}} {{IF [[agent.getIsActive()]] == 0}} {{ENDIF}} {{IF [[agentTasks.getVal([[agent.getId()]])]]}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_TASK_ACCESS]])]]}} Task [[agentTasks.getVal([[agent.getId()]])]], at [[Util::nicenum([[agentSpeeds.getVal([[agent.getId()]])]], 10000, 1000)]]H/s, working on chunk [[agentChunks.getVal([[agent.getId()]])]] {{ELSE}} Task Id [[agentTasks.getVal([[agent.getId()]])]] {{ENDIF}} {{ELSE}} --- {{ENDIF}} {{IF [[agentAssignments.getVal([[agent.getId()]])]]}} {{IF [[accessControl.hasPermission([[$DAccessControl::VIEW_TASK_ACCESS]])]]}} Task [[agentAssignments.getVal([[agent.getId()]])]]
{{ELSE}} Task [[agentAssignments.getVal([[agent.getId()]])]]
{{ENDIF}} {{ELSE}} --- {{ENDIF}}
Action: [[agent.getLastAct()]]
Time: [[date([[config.getVal(DConfig::TIME_FORMAT)]], [[agent.getLastTime()]])]]
IP: {{IF [[config.getVal([[$DConfig::HIDE_IP_INFO]])]] == 0}} [[agent.getLastIp()]] {{ELSE}} Hidden {{ENDIF}}
{%TEMPLATE->struct/foot%}