org.apache.hadoop.yarn.server.resourcemanager.scheduler
Class QueueMetrics

java.lang.Object
  extended by org.apache.hadoop.yarn.server.resourcemanager.scheduler.QueueMetrics
All Implemented Interfaces:
org.apache.hadoop.metrics2.MetricsSource
Direct Known Subclasses:
FSQueueMetrics

@InterfaceAudience.Private
@Metrics(context="yarn")
public class QueueMetrics
extends Object
implements org.apache.hadoop.metrics2.MetricsSource


Field Summary
protected static org.apache.hadoop.metrics2.MetricsInfo QUEUE_INFO
           
protected static Map<String,QueueMetrics> queueMetrics
          Simple metrics cache to help prevent re-registrations.
 
Constructor Summary
protected QueueMetrics(org.apache.hadoop.metrics2.MetricsSystem ms, String queueName, Queue parent, boolean enableUserMetrics, org.apache.hadoop.conf.Configuration conf)
           
 
Method Summary
 void activateApp(String user)
           
 void allocateResources(String user, int containers, org.apache.hadoop.yarn.api.records.Resource res)
           
static void clearQueueMetrics()
          Helper method to clear cache - used only for unit tests.
 void deactivateApp(String user)
           
 void decrActiveUsers()
           
 void decrPendingResources(String user, int containers, org.apache.hadoop.yarn.api.records.Resource res)
           
 void finishApp(AppSchedulingInfo app, RMAppAttemptState rmAppAttemptFinalState)
           
static QueueMetrics forQueue(org.apache.hadoop.metrics2.MetricsSystem ms, String queueName, Queue parent, boolean enableUserMetrics, org.apache.hadoop.conf.Configuration conf)
           
static QueueMetrics forQueue(String queueName, Queue parent, boolean enableUserMetrics, org.apache.hadoop.conf.Configuration conf)
           
 int getActiveApps()
           
 int getActiveUsers()
           
 int getAllocatedContainers()
           
 int getAllocatedMB()
           
 org.apache.hadoop.yarn.api.records.Resource getAllocatedResources()
           
 int getAllocatedVirtualCores()
           
 int getAppsCompleted()
           
 int getAppsFailed()
           
 int getAppsKilled()
           
 int getAppsPending()
           
 int getAppsRunning()
           
 int getAppsSubmitted()
           
 int getAvailableMB()
           
 int getAvailableVirtualCores()
           
 void getMetrics(org.apache.hadoop.metrics2.MetricsCollector collector, boolean all)
           
 int getPendingContainers()
           
 int getPendingMB()
           
 int getPendingVirtualCores()
           
 int getReservedContainers()
           
 int getReservedMB()
           
 int getReservedVirtualCores()
           
 QueueMetrics getUserMetrics(String userName)
           
 void incrActiveUsers()
           
 void incrAppsRunning(AppSchedulingInfo app, String user)
           
 void incrPendingResources(String user, int containers, org.apache.hadoop.yarn.api.records.Resource res)
          Increment pending resource metrics
 void releaseResources(String user, int containers, org.apache.hadoop.yarn.api.records.Resource res)
           
 void reserveResource(String user, org.apache.hadoop.yarn.api.records.Resource res)
           
 void setAvailableResourcesToQueue(org.apache.hadoop.yarn.api.records.Resource limit)
          Set available resources.
 void setAvailableResourcesToUser(String user, org.apache.hadoop.yarn.api.records.Resource limit)
          Set available resources.
protected static StringBuilder sourceName(String queueName)
           
 void submitApp(String user, int attemptId)
           
protected  QueueMetrics tag(org.apache.hadoop.metrics2.MetricsInfo info, String value)
           
 void unreserveResource(String user, org.apache.hadoop.yarn.api.records.Resource res)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

QUEUE_INFO

protected static final org.apache.hadoop.metrics2.MetricsInfo QUEUE_INFO

queueMetrics

protected static final Map<String,QueueMetrics> queueMetrics
Simple metrics cache to help prevent re-registrations.

Constructor Detail

QueueMetrics

protected QueueMetrics(org.apache.hadoop.metrics2.MetricsSystem ms,
                       String queueName,
                       Queue parent,
                       boolean enableUserMetrics,
                       org.apache.hadoop.conf.Configuration conf)
Method Detail

tag

protected QueueMetrics tag(org.apache.hadoop.metrics2.MetricsInfo info,
                           String value)

sourceName

protected static StringBuilder sourceName(String queueName)

forQueue

public static QueueMetrics forQueue(String queueName,
                                    Queue parent,
                                    boolean enableUserMetrics,
                                    org.apache.hadoop.conf.Configuration conf)

clearQueueMetrics

@InterfaceAudience.Private
public static void clearQueueMetrics()
Helper method to clear cache - used only for unit tests.


forQueue

public static QueueMetrics forQueue(org.apache.hadoop.metrics2.MetricsSystem ms,
                                    String queueName,
                                    Queue parent,
                                    boolean enableUserMetrics,
                                    org.apache.hadoop.conf.Configuration conf)

getUserMetrics

public QueueMetrics getUserMetrics(String userName)

getMetrics

public void getMetrics(org.apache.hadoop.metrics2.MetricsCollector collector,
                       boolean all)
Specified by:
getMetrics in interface org.apache.hadoop.metrics2.MetricsSource

submitApp

public void submitApp(String user,
                      int attemptId)

incrAppsRunning

public void incrAppsRunning(AppSchedulingInfo app,
                            String user)

finishApp

public void finishApp(AppSchedulingInfo app,
                      RMAppAttemptState rmAppAttemptFinalState)

setAvailableResourcesToQueue

public void setAvailableResourcesToQueue(org.apache.hadoop.yarn.api.records.Resource limit)
Set available resources. To be called by scheduler periodically as resources become available.

Parameters:
limit - resource limit

setAvailableResourcesToUser

public void setAvailableResourcesToUser(String user,
                                        org.apache.hadoop.yarn.api.records.Resource limit)
Set available resources. To be called by scheduler periodically as resources become available.

Parameters:
user -
limit - resource limit

incrPendingResources

public void incrPendingResources(String user,
                                 int containers,
                                 org.apache.hadoop.yarn.api.records.Resource res)
Increment pending resource metrics

Parameters:
user -
containers -
res - the TOTAL delta of resources note this is different from the other APIs which use per container resource

decrPendingResources

public void decrPendingResources(String user,
                                 int containers,
                                 org.apache.hadoop.yarn.api.records.Resource res)

allocateResources

public void allocateResources(String user,
                              int containers,
                              org.apache.hadoop.yarn.api.records.Resource res)

releaseResources

public void releaseResources(String user,
                             int containers,
                             org.apache.hadoop.yarn.api.records.Resource res)

reserveResource

public void reserveResource(String user,
                            org.apache.hadoop.yarn.api.records.Resource res)

unreserveResource

public void unreserveResource(String user,
                              org.apache.hadoop.yarn.api.records.Resource res)

incrActiveUsers

public void incrActiveUsers()

decrActiveUsers

public void decrActiveUsers()

activateApp

public void activateApp(String user)

deactivateApp

public void deactivateApp(String user)

getAppsSubmitted

public int getAppsSubmitted()

getAppsRunning

public int getAppsRunning()

getAppsPending

public int getAppsPending()

getAppsCompleted

public int getAppsCompleted()

getAppsKilled

public int getAppsKilled()

getAppsFailed

public int getAppsFailed()

getAllocatedResources

public org.apache.hadoop.yarn.api.records.Resource getAllocatedResources()

getAllocatedMB

public int getAllocatedMB()

getAllocatedVirtualCores

public int getAllocatedVirtualCores()

getAllocatedContainers

public int getAllocatedContainers()

getAvailableMB

public int getAvailableMB()

getAvailableVirtualCores

public int getAvailableVirtualCores()

getPendingMB

public int getPendingMB()

getPendingVirtualCores

public int getPendingVirtualCores()

getPendingContainers

public int getPendingContainers()

getReservedMB

public int getReservedMB()

getReservedVirtualCores

public int getReservedVirtualCores()

getReservedContainers

public int getReservedContainers()

getActiveUsers

public int getActiveUsers()

getActiveApps

public int getActiveApps()


Copyright © 2014 Apache Software Foundation. All Rights Reserved.