YARN-8615. [UI2] Resource Usage tab shows only memory related info. No info available for vcores/gpu. Contributed by Akhil PB.
This commit is contained in:
parent
29417dbbf4
commit
3426f4062a
|
@ -48,26 +48,24 @@ export default StackedBarchart.extend({
|
||||||
var value = res.usedByTheApp ? res.usedByTheApp : 0;
|
var value = res.usedByTheApp ? res.usedByTheApp : 0;
|
||||||
subArr.push({
|
subArr.push({
|
||||||
value: value,
|
value: value,
|
||||||
bindText: "This app uses " + Converter.memoryToSimpliedUnit(value) + ". On node=" + nodeId,
|
bindText: "This app uses " + Converter.memoryToSimpliedUnit(value) + " on node=" + nodeId,
|
||||||
});
|
});
|
||||||
|
|
||||||
value = res.used - value;
|
value = res.used - value;
|
||||||
value = Math.max(value, 0);
|
value = Math.max(value, 0);
|
||||||
subArr.push({
|
subArr.push({
|
||||||
value: value,
|
value: value,
|
||||||
bindText: "Other applications uses " + Converter.memoryToSimpliedUnit(value) + ". On node=" + nodeId,
|
bindText: "Other applications use " + Converter.memoryToSimpliedUnit(value) + " on node=" + nodeId,
|
||||||
});
|
});
|
||||||
|
|
||||||
subArr.push({
|
subArr.push({
|
||||||
value: res.avail,
|
value: res.avail,
|
||||||
bindText: "Free resource " + Converter.memoryToSimpliedUnit(res.avail) + " . On node=" + nodeId
|
bindText: Converter.memoryToSimpliedUnit(res.avail) + " memory is available on node=" + nodeId
|
||||||
});
|
});
|
||||||
|
|
||||||
arr.push(subArr);
|
arr.push(subArr);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(arr);
|
|
||||||
|
|
||||||
return arr;
|
return arr;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -82,7 +80,7 @@ export default StackedBarchart.extend({
|
||||||
var data = this.getDataForRender(containers, nodes);
|
var data = this.getDataForRender(containers, nodes);
|
||||||
|
|
||||||
this.show(
|
this.show(
|
||||||
data, this.get("title"), ["Used by this app", "Used by other apps",
|
data, this.get("title"), ["Used by this app", "Used by other apps", "Available"]
|
||||||
"Available"]);
|
);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
|
@ -46,8 +46,6 @@ export default StackedBarchart.extend({
|
||||||
arr.push(subArr);
|
arr.push(subArr);
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(arr);
|
|
||||||
|
|
||||||
return arr;
|
return arr;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,85 @@
|
||||||
|
/**
|
||||||
|
* Licensed to the Apache Software Foundation (ASF) under one
|
||||||
|
* or more contributor license agreements. See the NOTICE file
|
||||||
|
* distributed with this work for additional information
|
||||||
|
* regarding copyright ownership. The ASF licenses this file
|
||||||
|
* to you under the Apache License, Version 2.0 (the
|
||||||
|
* "License"); you may not use this file except in compliance
|
||||||
|
* with the License. You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import StackedBarchart from 'yarn-ui/components/stacked-barchart';
|
||||||
|
|
||||||
|
export default StackedBarchart.extend({
|
||||||
|
getDataForRender: function(containers, nodes) {
|
||||||
|
var arr = [];
|
||||||
|
var nodeToResources = {};
|
||||||
|
nodes.forEach(function(n) {
|
||||||
|
nodeToResources[n.id] =
|
||||||
|
{
|
||||||
|
used: Number(n.get("usedVirtualCores")),
|
||||||
|
avail: Number(n.get("availableVirtualCores"))
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
containers.forEach(function(c) {
|
||||||
|
res = nodeToResources[c.get("assignedNodeId")];
|
||||||
|
if (res) {
|
||||||
|
if (!res.usedByTheApp) {
|
||||||
|
res.usedByTheApp = 0;
|
||||||
|
}
|
||||||
|
res.usedByTheApp += Number(c.get("allocatedVCores"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
for (var nodeId in nodeToResources) {
|
||||||
|
var res = nodeToResources[nodeId];
|
||||||
|
|
||||||
|
var subArr = [];
|
||||||
|
var value = res.usedByTheApp ? res.usedByTheApp : 0;
|
||||||
|
subArr.push({
|
||||||
|
value: value,
|
||||||
|
bindText: "This app uses " + value + " vcores on node=" + nodeId,
|
||||||
|
});
|
||||||
|
|
||||||
|
value = res.used - value;
|
||||||
|
value = Math.max(value, 0);
|
||||||
|
subArr.push({
|
||||||
|
value: value,
|
||||||
|
bindText: "Other applications use " + value + " vcores on node=" + nodeId,
|
||||||
|
});
|
||||||
|
|
||||||
|
subArr.push({
|
||||||
|
value: res.avail,
|
||||||
|
bindText: res.avail + (res.avail > 1 ? " vcores are" : " vcore is") + " available on node=" + nodeId
|
||||||
|
});
|
||||||
|
|
||||||
|
arr.push(subArr);
|
||||||
|
}
|
||||||
|
|
||||||
|
return arr;
|
||||||
|
},
|
||||||
|
|
||||||
|
didInsertElement: function() {
|
||||||
|
this.initChart(true);
|
||||||
|
|
||||||
|
this.colors = ["lightsalmon", "Grey", "mediumaquamarine"];
|
||||||
|
|
||||||
|
var containers = this.get("rmContainers");
|
||||||
|
var nodes = this.get("nodes");
|
||||||
|
|
||||||
|
var data = this.getDataForRender(containers, nodes);
|
||||||
|
|
||||||
|
this.show(
|
||||||
|
data, this.get("title"), ["Used by this app", "Used by other apps", "Available"]
|
||||||
|
);
|
||||||
|
},
|
||||||
|
});
|
|
@ -26,6 +26,14 @@
|
||||||
title=(concat 'Memory usage by nodes for: [' model.appId ']')}}
|
title=(concat 'Memory usage by nodes for: [' model.appId ']')}}
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
<div class="row" id="stackd-bar-chart-vcore">
|
||||||
|
{{per-app-vcoreusage-by-nodes-stacked-barchart
|
||||||
|
nodes=model.nodes
|
||||||
|
rmContainers=model.rmContainers
|
||||||
|
parentId="stackd-bar-chart-vcore"
|
||||||
|
title=(concat 'VCore usage by nodes for: [' model.appId ']')}}
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
<div class="row" id="stackd-bar-chart-ncontainer">
|
<div class="row" id="stackd-bar-chart-ncontainer">
|
||||||
{{per-app-ncontainers-by-nodes-stacked-barchart
|
{{per-app-ncontainers-by-nodes-stacked-barchart
|
||||||
nodes=model.nodes
|
nodes=model.nodes
|
||||||
|
|
Loading…
Reference in New Issue