blob: 3f3847e840208d786d23b29c9fb2875b6fedd3ea [file] [log] [blame]
/**
* 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.
*/
package org.apache.hadoop.yarn.server.resourcemanager.webapp.dao;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import org.apache.hadoop.yarn.api.records.ResourceUtilization;
import org.apache.hadoop.yarn.server.resourcemanager.rmnode.RMNode;
/**
* DAO object represents resource utilization of node and containers.
*/
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class ResourceUtilizationInfo {
protected int nodePhysicalMemoryMB;
protected int nodeVirtualMemoryMB;
protected double nodeCPUUsage;
protected int aggregatedContainersPhysicalMemoryMB;
protected int aggregatedContainersVirtualMemoryMB;
protected double containersCPUUsage;
public ResourceUtilizationInfo() {
} // JAXB needs this
public ResourceUtilizationInfo(RMNode ni) {
// update node and containers resource utilization
ResourceUtilization nodeUtilization = ni.getNodeUtilization();
if (nodeUtilization != null) {
this.nodePhysicalMemoryMB = nodeUtilization.getPhysicalMemory();
this.nodeVirtualMemoryMB = nodeUtilization.getVirtualMemory();
this.nodeCPUUsage = nodeUtilization.getCPU();
}
ResourceUtilization containerAggrUtilization = ni
.getAggregatedContainersUtilization();
if (containerAggrUtilization != null) {
this.aggregatedContainersPhysicalMemoryMB = containerAggrUtilization
.getPhysicalMemory();
this.aggregatedContainersVirtualMemoryMB = containerAggrUtilization
.getVirtualMemory();
this.containersCPUUsage = containerAggrUtilization.getCPU();
}
}
public int getNodePhysicalMemoryMB() {
return nodePhysicalMemoryMB;
}
public int getNodeVirtualMemoryMB() {
return nodeVirtualMemoryMB;
}
public int getAggregatedContainersPhysicalMemoryMB() {
return aggregatedContainersPhysicalMemoryMB;
}
public int getAggregatedContainersVirtualMemoryMB() {
return aggregatedContainersVirtualMemoryMB;
}
public double getNodeCPUUsage() {
return nodeCPUUsage;
}
public double getContainersCPUUsage() {
return containersCPUUsage;
}
}