You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by de...@apache.org on 2016/10/26 17:29:17 UTC
svn commit: r1766709 - in /uima/uima-ducc/trunk:
uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/ws/json/
uima-ducc-cli/src/test/java/org/apache/uima/ducc/cli/test/
uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/
uima-ducc-web/src/main/java/o...
Author: degenaro
Date: Wed Oct 26 17:29:17 2016
New Revision: 1766709
URL: http://svn.apache.org/viewvc?rev=1766709&view=rev
Log:
UIMA-5047 support for CGroups CPU Reporting status on WS Machines page
Modified:
uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/ws/json/MachineFacts.java
uima/uima-ducc/trunk/uima-ducc-cli/src/test/java/org/apache/uima/ducc/cli/test/MachineFactsTest.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
Modified: uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/ws/json/MachineFacts.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/ws/json/MachineFacts.java?rev=1766709&r1=1766708&r2=1766709&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/ws/json/MachineFacts.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-cli/src/main/java/org/apache/uima/ducc/cli/ws/json/MachineFacts.java Wed Oct 26 17:29:17 2016
@@ -37,7 +37,8 @@ public class MachineFacts implements Ser
public String swapDelta;
public String swapFree;
public double cpu;
- public boolean cgroups = false;
+ public boolean cgroupsEnabled = false;
+ public boolean cgroupsCpuReportingEnabled = false;
public List<String> aliens;
public String heartbeat;
@@ -51,7 +52,8 @@ public class MachineFacts implements Ser
String swapDelta,
String swapFree,
double cpu,
- boolean cgroups,
+ boolean cgroupsEnabled,
+ boolean cgroupsCpuReportingEnabled,
List<String> aliens,
String heartbeat
)
@@ -68,7 +70,8 @@ public class MachineFacts implements Ser
this.swapDelta = swapDelta;
this.swapFree = swapFree;
this.cpu = cpu;
- this.cgroups = cgroups;
+ this.cgroupsEnabled = cgroupsEnabled;
+ this.cgroupsCpuReportingEnabled = cgroupsCpuReportingEnabled;
this.aliens = aliens;
this.heartbeat = heartbeat;
}
Modified: uima/uima-ducc/trunk/uima-ducc-cli/src/test/java/org/apache/uima/ducc/cli/test/MachineFactsTest.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-cli/src/test/java/org/apache/uima/ducc/cli/test/MachineFactsTest.java?rev=1766709&r1=1766708&r2=1766709&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-cli/src/test/java/org/apache/uima/ducc/cli/test/MachineFactsTest.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-cli/src/test/java/org/apache/uima/ducc/cli/test/MachineFactsTest.java Wed Oct 26 17:29:17 2016
@@ -92,7 +92,11 @@ public class MachineFactsTest {
return random.nextDouble();
}
- private boolean createCgroups() {
+ private boolean createCgroupsEnabled() {
+ return random.nextBoolean();
+ }
+
+ private boolean createCgroupsCpuReportingEnabled() {
return random.nextBoolean();
}
@@ -130,10 +134,11 @@ public class MachineFactsTest {
String delta = createSwap();
String free = createFree();
double cpu = createCPU();
- boolean cgroups = createCgroups();
+ boolean cgroupsEnabled = createCgroupsEnabled();
+ boolean cgroupsCpuReportingEnabled = createCgroupsCpuReportingEnabled();
List<String> aliens = createAliens();
String heartbeat = createHeartbeat();
- MachineFacts machineFacts = new MachineFacts(status,"",ip,name, memTotal, memFree, swap, delta, free, cpu, cgroups, aliens, heartbeat);
+ MachineFacts machineFacts = new MachineFacts(status,"",ip,name, memTotal, memFree, swap, delta, free, cpu, cgroupsEnabled, cgroupsCpuReportingEnabled, aliens, heartbeat);
return machineFacts;
}
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java?rev=1766709&r1=1766708&r2=1766709&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/DuccMachinesData.java Wed Oct 26 17:29:17 2016
@@ -248,7 +248,7 @@ public class DuccMachinesData {
String swapInuse = "";
String swapFree = "";
double cpu = 0;
- MachineInfo machineInfo = new MachineInfo(IDuccEnv.DUCC_NODES_FILE_PATH, "", nodeName, memTotal, memFree, swapInuse, swapFree, cpu, false, null, -1, 0);
+ MachineInfo machineInfo = new MachineInfo(IDuccEnv.DUCC_NODES_FILE_PATH, "", nodeName, memTotal, memFree, swapInuse, swapFree, cpu, false, false, null, -1, 0);
putMachine(machineInfo);
}
updateSortedMachines();
@@ -393,8 +393,9 @@ public class DuccMachinesData {
List<ProcessInfo> alienPids = nodeMetrics.getRogueProcessInfoList();
Node node = nodeMetrics.getNode();
double cpu = getCpuLoadAvg(node);
- boolean cGroups = nodeMetrics.getCgroups();
- MachineInfo current = new MachineInfo("", ip.toString(), machineName, memTotal, memFree, ""+swapInuse, ""+swapFree, cpu, cGroups, alienPids, duccEvent.getMillis(), duccEvent.getEventSize());
+ boolean cGroupsEnabled = nodeMetrics.getCgroups();
+ boolean cGroupsCpuReportingEnabled = nodeMetrics.getCgroupsCpuReportingEnabled();
+ MachineInfo current = new MachineInfo("", ip.toString(), machineName, memTotal, memFree, ""+swapInuse, ""+swapFree, cpu, cGroupsEnabled, cGroupsCpuReportingEnabled, alienPids, duccEvent.getMillis(), duccEvent.getEventSize());
NodeId key = nodeId;
MachineInfo previous = unsortedMachines.get(key);
@@ -610,10 +611,11 @@ public class DuccMachinesData {
String swapDelta = ""+machineInfo.getSwapDelta();
String swapFree = machineInfo.getSwapFree();
double cpu = machineInfo.getCpu();
- boolean cGroups = machineInfo.getCgroups();
+ boolean cGroupsEnabled = machineInfo.getCgroupsEnabled();
+ boolean cGroupspuReportingEnabled = machineInfo.getCgroupsCpuReportingEnabled();
List<String> aliens = machineInfo.getAliens();
String heartbeat = ""+machineInfo.getElapsed();
- MachineFacts facts = new MachineFacts(status,statusReason,ip,name,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroups,aliens,heartbeat);
+ MachineFacts facts = new MachineFacts(status,statusReason,ip,name,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroupsEnabled,cGroupspuReportingEnabled,aliens,heartbeat);
// when not using DB, memResrve == memTotal
facts.memReserve = memTotal;
factsList.add(facts);
@@ -683,10 +685,11 @@ public class DuccMachinesData {
String swapDelta = "";
String swapFree = "";
double cpu = 0;
- boolean cGroups = false;
+ boolean cGroupsEnabled = false;
+ boolean cGroupsCpuReportingEnabled = false;
List<String> aliens = new ArrayList<String>();
String heartbeat = "";
- MachineFacts facts = new MachineFacts(status,statusReason,ip,longName,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroups,aliens,heartbeat);
+ MachineFacts facts = new MachineFacts(status,statusReason,ip,longName,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroupsEnabled,cGroupsCpuReportingEnabled,aliens,heartbeat);
mfl.add(facts);
}
// Augment returnable with data from Agents & RM (from DB)
@@ -703,10 +706,11 @@ public class DuccMachinesData {
String swapDelta = ""+machineInfo.getSwapDelta();
String swapFree = machineInfo.getSwapFree();
double cpu = machineInfo.getCpu();
- boolean cGroups = machineInfo.getCgroups();
+ boolean cGroupsEnabled = machineInfo.getCgroupsEnabled();
+ boolean cGroupsCpuReportingEnabled = machineInfo.getCgroupsCpuReportingEnabled();
List<String> aliens = machineInfo.getAliens();
String heartbeat = ""+machineInfo.getElapsed();
- MachineFacts facts = new MachineFacts(status,statusReason,ip,name,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroups,aliens,heartbeat);
+ MachineFacts facts = new MachineFacts(status,statusReason,ip,name,memTotal,memFree,swapInuse,swapDelta,swapFree,cpu,cGroupsEnabled,cGroupsCpuReportingEnabled,aliens,heartbeat);
facts.memReserve = machineInfo.getMemTotal();
facts.quantum = ""+machineInfo.getQuantum();
logger.trace(location, jobid, facts.status+" "+facts.statusReason);
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java?rev=1766709&r1=1766708&r2=1766709&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/MachineInfo.java Wed Oct 26 17:29:17 2016
@@ -52,7 +52,8 @@ public class MachineInfo implements Comp
private String swapInuse;
private String swapFree;
private double cpu;
- private boolean cGroups;
+ private boolean cGroupsEnabled;
+ private boolean cGroupsCpuReportingEnabled;
private List<ProcessInfo> alienPids;
private long swapDelta;
private long heartbeat;
@@ -70,15 +71,15 @@ public class MachineInfo implements Comp
private NodeId nodeid;
- public MachineInfo(String fileDef, String ip, String name, String memTotal, String memFree, String swapInuse, String swapFree, double cpu, boolean cGroups, List<ProcessInfo> alienPids, long heartbeat, long pubSize) {
- init(MachineStatus.Defined, fileDef, ip, name, memTotal, memFree, swapInuse, swapFree, cpu, cGroups, alienPids, heartbeat, pubSize);
+ public MachineInfo(String fileDef, String ip, String name, String memTotal, String memFree, String swapInuse, String swapFree, double cpu, boolean cGroupsEnabled, boolean cGroupsCpuReportingEnabled, List<ProcessInfo> alienPids, long heartbeat, long pubSize) {
+ init(MachineStatus.Defined, fileDef, ip, name, memTotal, memFree, swapInuse, swapFree, cpu, cGroupsEnabled, cGroupsCpuReportingEnabled, alienPids, heartbeat, pubSize);
}
- public MachineInfo(MachineStatus machineStatus, String fileDef, String ip, String name, String memTotal, String memFree, String swapInuse, String swapFree, double cpu, boolean cGroups, List<ProcessInfo> alienPids, long heartbeat, long pubSize) {
- init(machineStatus, fileDef, ip, name, memTotal, memFree, swapInuse, swapFree, cpu, cGroups, alienPids, heartbeat, pubSize);
+ public MachineInfo(MachineStatus machineStatus, String fileDef, String ip, String name, String memTotal, String memFree, String swapInuse, String swapFree, double cpu, boolean cGroupsEnabled, boolean cGroupsCpuReportingEnabled, List<ProcessInfo> alienPids, long heartbeat, long pubSize) {
+ init(machineStatus, fileDef, ip, name, memTotal, memFree, swapInuse, swapFree, cpu, cGroupsEnabled, cGroupsCpuReportingEnabled, alienPids, heartbeat, pubSize);
}
- private void init(MachineStatus machineStatus, String fileDef, String ip, String name, String memTotal, String memFree, String swapInuse, String swapFree, double cpu, boolean cGroups, List<ProcessInfo> alienPids, long heartbeat, long pubSize) {
+ private void init(MachineStatus machineStatus, String fileDef, String ip, String name, String memTotal, String memFree, String swapInuse, String swapFree, double cpu, boolean cGroupsEnabled, boolean cGroupsCpuReportingEnabled, List<ProcessInfo> alienPids, long heartbeat, long pubSize) {
this.machineStatus = machineStatus;
this.fileDef = fileDef;
this.ip = ip;
@@ -88,7 +89,8 @@ public class MachineInfo implements Comp
this.swapInuse = swapInuse;
this.swapFree = swapFree;
this.cpu = cpu;
- this.cGroups = cGroups;
+ this.cGroupsEnabled = cGroupsEnabled;
+ this.cGroupsCpuReportingEnabled = cGroupsCpuReportingEnabled;
this.alienPids = alienPids;
if(this.alienPids == null) {
this.alienPids = new ArrayList<ProcessInfo>();
@@ -293,8 +295,12 @@ public class MachineInfo implements Comp
return cpu;
}
- public boolean getCgroups() {
- return this.cGroups;
+ public boolean getCgroupsEnabled() {
+ return this.cGroupsEnabled;
+ }
+
+ public boolean getCgroupsCpuReportingEnabled() {
+ return this.cGroupsCpuReportingEnabled;
}
public List<String> getAliens() {
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java?rev=1766709&r1=1766708&r2=1766709&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerClassic.java Wed Oct 26 17:29:17 2016
@@ -1846,13 +1846,21 @@ public class DuccHandlerClassic extends
}
row.append("</td>");
// C-Groups
- boolean isCgroups = facts.cgroups;
+ boolean isCgroupsEnabled = facts.cgroupsEnabled;
+ boolean isCgroupsCpuReportingEnabled = facts.cgroupsCpuReportingEnabled;
sb = new StringBuffer();
if(status.equals("up")) {
- if(isCgroups) {
- sb.append("<span title=\""+"control groups active"+"\" class=\"health_black\""+">");
- sb.append("on");
- sb.append("</span>");
+ if(isCgroupsEnabled) {
+ if(isCgroupsCpuReportingEnabled) {
+ sb.append("<span title=\""+"control groups active"+"\" class=\"health_black\""+">");
+ sb.append("on");
+ sb.append("</span>");
+ }
+ else {
+ sb.append("<span title=\""+"control groups CPU reporting not configured"+"\" class=\"health_red\""+">");
+ sb.append("noCPU%");
+ sb.append("</span>");
+ }
}
else {
sb.append("<span title=\""+"control groups inactive"+"\" class=\"health_red\""+">");
Modified: uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java
URL: http://svn.apache.org/viewvc/uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java?rev=1766709&r1=1766708&r2=1766709&view=diff
==============================================================================
--- uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java (original)
+++ uima/uima-ducc/trunk/uima-ducc-web/src/main/java/org/apache/uima/ducc/ws/server/DuccHandlerJsonFormat.java Wed Oct 26 17:29:17 2016
@@ -1592,13 +1592,21 @@ public class DuccHandlerJsonFormat exten
row.add(new JsonPrimitive(""));
}
// C-Groups
- boolean isCgroups = facts.cgroups;
+ boolean isCgroupsEnabled = facts.cgroupsEnabled;
+ boolean isCgroupsCpuReportingEnabled = facts.cgroupsCpuReportingEnabled;
sb = new StringBuffer();
if(status.equals("up")) {
- if(isCgroups) {
- sb.append("<span title=\""+"control groups active"+"\" class=\"health_black\""+">");
- sb.append("on");
- sb.append("</span>");
+ if(isCgroupsEnabled) {
+ if(isCgroupsCpuReportingEnabled) {
+ sb.append("<span title=\""+"control groups active"+"\" class=\"health_black\""+">");
+ sb.append("on");
+ sb.append("</span>");
+ }
+ else {
+ sb.append("<span title=\""+"control groups CPU reporting not configured"+"\" class=\"health_red\""+">");
+ sb.append("noCPU%");
+ sb.append("</span>");
+ }
}
else {
sb.append("<span title=\""+"control groups inactive"+"\" class=\"health_red\""+">");