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, boolean decrPending)
           
static void clearQueueMetrics()
          Helper method to clear cache.
 void deactivateApp(String user)
           
 void decrActiveUsers()
           
 void decrPendingResources(String user, int containers, org.apache.hadoop.yarn.api.records.Resource res)
           
 void finishApp(String user, RMAppState rmAppFinalState)
           
 void finishAppAttempt(org.apache.hadoop.yarn.api.records.ApplicationId appId, boolean isPending, String user)
           
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)
           
 org.apache.hadoop.metrics2.MetricsSystem getMetricsSystem()
           
 int getPendingContainers()
           
 int getPendingMB()
           
 int getPendingVirtualCores()
           
 int getReservedContainers()
           
 int getReservedMB()
           
 int getReservedVirtualCores()
           
 QueueMetrics getUserMetrics(String userName)
           
 void incrActiveUsers()
           
 void incrPendingResources(String user, int containers, org.apache.hadoop.yarn.api.records.Resource res)
          Increment pending resource metrics
 void moveAppFrom(AppSchedulingInfo app)
           
 void moveAppTo(AppSchedulingInfo app)
           
 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 runAppAttempt(org.apache.hadoop.yarn.api.records.ApplicationId appId, String user)
           
 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)
           
 void submitAppAttempt(String user)
           
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.


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)

submitAppAttempt

public void submitAppAttempt(String user)

runAppAttempt

public void runAppAttempt(org.apache.hadoop.yarn.api.records.ApplicationId appId,
                          String user)

finishAppAttempt

public void finishAppAttempt(org.apache.hadoop.yarn.api.records.ApplicationId appId,
                             boolean isPending,
                             String user)

finishApp

public void finishApp(String user,
                      RMAppState rmAppFinalState)

moveAppFrom

public void moveAppFrom(AppSchedulingInfo app)

moveAppTo

public void moveAppTo(AppSchedulingInfo app)

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,
                              boolean decrPending)

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()

getMetricsSystem

public org.apache.hadoop.metrics2.MetricsSystem getMetricsSystem()


Copyright © 2014 Apache Software Foundation. All Rights Reserved.