diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSOpDurations.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSOpDurations.java index 6676baf4c3e..20d2af91411 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSOpDurations.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/FSOpDurations.java @@ -53,6 +53,9 @@ public class FSOpDurations implements MetricsSource { @Metric("Duration for an update call") MutableRate updateCall; + @Metric("Duration for a preempt call") + MutableRate preemptCall; + private static final MetricsInfo RECORD_INFO = info("FSOpDurations", "Durations of FairScheduler calls or thread-runs"); @@ -85,6 +88,7 @@ private synchronized void setExtended(boolean isExtended) { nodeUpdateCall.setExtended(isExtended); updateThreadRun.setExtended(isExtended); updateCall.setExtended(isExtended); + preemptCall.setExtended(isExtended); INSTANCE.isExtended = isExtended; } @@ -110,6 +114,10 @@ public void addUpdateCallDuration(long value) { updateCall.add(value); } + public void addPreemptCallDuration(long value) { + preemptCall.add(value); + } + @VisibleForTesting public boolean hasUpdateThreadRunChanged() { return updateThreadRun.changed();