Skip to content

Commit 2c694e1

Browse files
authored
YARN-11756. [UI2] Add the metrics from UI1 scheduler/application queues page to UI2 Queues page (#7324)
1 parent acc3e50 commit 2c694e1

File tree

5 files changed

+311
-62
lines changed

5 files changed

+311
-62
lines changed

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/components/yarn-queue-partition-capacity-labels.js

+29-5
Original file line numberDiff line numberDiff line change
@@ -33,28 +33,52 @@ export default Ember.Component.extend({
3333
initData() {
3434
const queue = this.get("queue");
3535
const partitionMap = this.get("partitionMap");
36-
const filteredParition = this.get("filteredPartition") || PARTITION_LABEL;
36+
const resourceUsagesByPartitionMap = this.get("resourceUsagesByPartitionMap");
37+
const filteredPartition = this.get("filteredPartition") || PARTITION_LABEL;
3738
const userLimit = queue.get("userLimit");
3839
const userLimitFactor = queue.get("userLimitFactor");
3940
const isLeafQueue = queue.get("isLeafQueue");
4041
const isWeightMode = queue.get("isWeightMode");
4142
const isFlexibleDynamicQueue = queue.get("isFlexibleDynamicQueue");
4243
const weight = queue.get("weight");
43-
const orderingPolicy = queue.get("orderingPolicy");
44+
const orderingPolicyInfo = queue.get("orderingPolicyInfo");
4445
const normalizedWeight = queue.get("normalizedWeight");
4546
const creationMethod = queue.get("creationMethod");
47+
const numActiveApplications = queue.get("numActiveApplications");
48+
const numPendingApplications = queue.get("numPendingApplications");
49+
const numContainers = queue.get("numContainers");
50+
const maxApplications = queue.get("maxApplications");
51+
const maxApplicationsPerUser = queue.get("maxApplicationsPerUser");
52+
const nodeLabels = queue.get("nodeLabels");
53+
const defaultNodeLabelExpression = queue.get("defaultNodeLabelExpression");
54+
const preemptionDisabled = queue.get("preemptionDisabled");
55+
const intraQueuePreemptionDisabled = queue.get("intraQueuePreemptionDisabled");
56+
const defaultPriority = queue.get("defaultPriority");
4657

4758
return {
48-
...partitionMap[filteredParition],
59+
...partitionMap[filteredPartition],
60+
...resourceUsagesByPartitionMap[filteredPartition],
4961
userLimit,
5062
userLimitFactor,
5163
isLeafQueue,
5264
isWeightMode,
5365
weight,
5466
normalizedWeight,
55-
orderingPolicy,
67+
orderingPolicyInfo,
5668
creationMethod,
57-
isFlexibleDynamicQueue
69+
isFlexibleDynamicQueue,
70+
numActiveApplications,
71+
numPendingApplications,
72+
numContainers,
73+
maxApplications,
74+
maxApplicationsPerUser,
75+
userLimit,
76+
userLimitFactor,
77+
nodeLabels,
78+
defaultNodeLabelExpression,
79+
preemptionDisabled,
80+
intraQueuePreemptionDisabled,
81+
defaultPriority
5882
};
5983
}
6084
});

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/models/yarn-queue/capacity-queue.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export default DS.Model.extend({
2727
capacity: DS.attr("number"),
2828
partitions: DS.attr("array"),
2929
partitionMap: DS.attr("object"),
30+
resourceUsagesByPartitionMap: DS.attr("object"),
3031
maxCapacity: DS.attr("number"),
3132
usedCapacity: DS.attr("number"),
3233
absCapacity: DS.attr("number"),
@@ -35,13 +36,20 @@ export default DS.Model.extend({
3536
weight: DS.attr("number"),
3637
normalizedWeight: DS.attr("number"),
3738
creationMethod: DS.attr("string"),
38-
orderingPolicy: DS.attr("string"),
39+
orderingPolicyInfo: DS.attr("string"),
3940
state: DS.attr("string"),
4041
userLimit: DS.attr("number"),
4142
userLimitFactor: DS.attr("number"),
42-
preemptionDisabled: DS.attr("number"),
43+
preemptionDisabled: DS.attr("string"),
44+
intraQueuePreemptionDisabled: DS.attr("string"),
45+
defaultPriority: DS.attr("number"),
4346
numPendingApplications: DS.attr("number"),
4447
numActiveApplications: DS.attr("number"),
48+
numContainers: DS.attr("number"),
49+
maxApplications: DS.attr("number"),
50+
maxApplicationsPerUser: DS.attr("number"),
51+
nodeLabels: DS.attr("string"),
52+
defaultNodeLabelExpression: DS.attr("string"),
4553
users: DS.hasMany("YarnUser"),
4654
type: DS.attr("string"),
4755
resources: DS.attr("object"),

hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/serializers/yarn-queue/capacity-queue.js

+28-2
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,25 @@ export default DS.JSONAPISerializer.extend({
8383
usedCapacity: payload.usedCapacity,
8484
absoluteCapacity: 'absoluteCapacity' in payload ? payload.absoluteCapacity : payload.capacity,
8585
absoluteMaxCapacity: 'absoluteMaxCapacity' in payload ? payload.absoluteMaxCapacity : payload.maxCapacity,
86-
absoluteUsedCapacity: 'absoluteUsedCapacity' in payload ? payload.absoluteUsedCapacity : payload.usedCapacity,
86+
absoluteUsedCapacity: 'absoluteUsedCapacity' in payload ? payload.absoluteUsedCapacity : payload.usedCapacity
87+
};
88+
}
89+
90+
//add here the partitioninfo
91+
///scheduler/schedulerInfo/queues/queue[2]/resources/resourceUsagesByPartition/partitionName
92+
//resources.resourceUsagesByPartition[].used.memory
93+
var resourcePartitions = [];
94+
var resourceUsagesByPartitionMap = {};
95+
if ("resources" in payload){
96+
resourcePartitions = payload.resources.resourceUsagesByPartition.map(
97+
res => res.partitionName || PARTITION_LABEL);
98+
resourceUsagesByPartitionMap = payload.resources.resourceUsagesByPartition.reduce((init, res) => {
99+
init[res.partitionName || PARTITION_LABEL] = res;
100+
return init;
101+
}, {});
102+
}else{
103+
resourceUsagesByPartitionMap[PARTITION_LABEL] = {
104+
partitionName: ""
87105
};
88106
}
89107

@@ -105,15 +123,23 @@ export default DS.JSONAPISerializer.extend({
105123
normalizedWeight: payload.normalizedWeight,
106124
creationMethod: payload.creationMethod,
107125
state: payload.state,
108-
orderingPolicy: payload.orderingPolicyInfo,
126+
orderingPolicyInfo: payload.orderingPolicyInfo,
109127
userLimit: payload.userLimit,
110128
userLimitFactor: payload.userLimitFactor,
111129
preemptionDisabled: payload.preemptionDisabled,
130+
intraQueuePreemptionDisabled: payload.intraQueuePreemptionDisabled,
112131
numPendingApplications: payload.numPendingApplications,
113132
numActiveApplications: payload.numActiveApplications,
133+
numContainers: payload.numContainers,
134+
maxApplications: payload.maxApplications,
135+
maxApplicationsPerUser: payload.maxApplicationsPerUser,
136+
nodeLabels: payload.nodeLabels,
137+
defaultNodeLabelExpression: payload.defaultNodeLabelExpression,
114138
resources: payload.resources,
139+
defaultPriority: payload.defaultPriority,
115140
partitions: partitions,
116141
partitionMap: partitionMap,
142+
resourceUsagesByPartitionMap: resourceUsagesByPartitionMap,
117143
type: "capacity",
118144
},
119145
// Relationships

0 commit comments

Comments
 (0)