hadoop RouterSchedulerMetrics 源码

  • 2022-10-20
  • 浏览 (241)

haddop RouterSchedulerMetrics 代码

文件路径:/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp/dao/RouterSchedulerMetrics.java

/**
 * 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
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * 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.router.webapp.dao;


import org.apache.hadoop.yarn.server.federation.store.records.SubClusterInfo;
import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.SchedulerOverviewInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class RouterSchedulerMetrics {

  // Metrics Log.
  private static final Logger LOG = LoggerFactory.getLogger(RouterSchedulerMetrics.class);

  // Scheduler Information.
  private String subCluster = "N/A";
  private String schedulerType = "N/A";
  private String schedulingResourceType = "N/A";
  private String minimumAllocation = "N/A";
  private String maximumAllocation = "N/A";
  private String applicationPriority = "N/A";
  private String schedulerBusy = "N/A";
  private String rmDispatcherEventQueueSize = "N/A";
  private String schedulerDispatcherEventQueueSize = "N/A";

  public RouterSchedulerMetrics() {

  }

  public RouterSchedulerMetrics(SubClusterInfo subClusterInfo, RouterClusterMetrics metrics,
      SchedulerOverviewInfo overview) {
    try {
      // Parse Scheduler Information.
      this.subCluster = subClusterInfo.getSubClusterId().getId();
      this.schedulerType = overview.getSchedulerType();
      this.schedulingResourceType = overview.getSchedulingResourceType();
      this.minimumAllocation = overview.getMinimumAllocation().toString();
      this.maximumAllocation = overview.getMaximumAllocation().toString();
      this.applicationPriority = String.valueOf(overview.getApplicationPriority());
      if (overview.getSchedulerBusy() != -1) {
        this.schedulerBusy = String.valueOf(overview.getSchedulerBusy());
      }
      this.rmDispatcherEventQueueSize =
          String.valueOf(overview.getRmDispatcherEventQueueSize());
      this.schedulerDispatcherEventQueueSize =
          String.valueOf(overview.getSchedulerDispatcherEventQueueSize());
    } catch (Exception ex) {
      LOG.error("RouterSchedulerMetrics Error.", ex);
    }
  }

  public String getSubCluster() {
    return subCluster;
  }

  public String getSchedulerType() {
    return schedulerType;
  }

  public String getSchedulingResourceType() {
    return schedulingResourceType;
  }

  public String getMinimumAllocation() {
    return minimumAllocation;
  }

  public String getMaximumAllocation() {
    return maximumAllocation;
  }

  public String getApplicationPriority() {
    return applicationPriority;
  }

  public String getRmDispatcherEventQueueSize() {
    return rmDispatcherEventQueueSize;
  }

  public String getSchedulerDispatcherEventQueueSize() {
    return schedulerDispatcherEventQueueSize;
  }

  public String getSchedulerBusy() {
    return schedulerBusy;
  }
}

相关信息

hadoop 源码目录

相关文章

hadoop RouterClusterMetrics 源码

hadoop RouterInfo 源码

hadoop package-info 源码

0  赞