|
@@ -83,6 +83,10 @@ public final class RouterMetrics {
|
|
private MutableGaugeInt numUpdateAppTimeoutsFailedRetrieved;
|
|
private MutableGaugeInt numUpdateAppTimeoutsFailedRetrieved;
|
|
@Metric("# of signalToContainer failed to be retrieved")
|
|
@Metric("# of signalToContainer failed to be retrieved")
|
|
private MutableGaugeInt numSignalToContainerFailedRetrieved;
|
|
private MutableGaugeInt numSignalToContainerFailedRetrieved;
|
|
|
|
+ @Metric("# of getQueueInfo failed to be retrieved")
|
|
|
|
+ private MutableGaugeInt numGetQueueInfoFailedRetrieved;
|
|
|
|
+ @Metric("# of moveApplicationAcrossQueues failed to be retrieved")
|
|
|
|
+ private MutableGaugeInt numMoveApplicationAcrossQueuesFailedRetrieved;
|
|
|
|
|
|
// Aggregate metrics are shared, and don't have to be looked up per call
|
|
// Aggregate metrics are shared, and don't have to be looked up per call
|
|
@Metric("Total number of successful Submitted apps and latency(ms)")
|
|
@Metric("Total number of successful Submitted apps and latency(ms)")
|
|
@@ -130,6 +134,10 @@ public final class RouterMetrics {
|
|
private MutableRate totalSucceededUpdateAppTimeoutsRetrieved;
|
|
private MutableRate totalSucceededUpdateAppTimeoutsRetrieved;
|
|
@Metric("Total number of successful Retrieved signalToContainer and latency(ms)")
|
|
@Metric("Total number of successful Retrieved signalToContainer and latency(ms)")
|
|
private MutableRate totalSucceededSignalToContainerRetrieved;
|
|
private MutableRate totalSucceededSignalToContainerRetrieved;
|
|
|
|
+ @Metric("Total number of successful Retrieved getQueueInfo and latency(ms)")
|
|
|
|
+ private MutableRate totalSucceededGetQueueInfoRetrieved;
|
|
|
|
+ @Metric("Total number of successful Retrieved moveApplicationAcrossQueues and latency(ms)")
|
|
|
|
+ private MutableRate totalSucceededMoveApplicationAcrossQueuesRetrieved;
|
|
|
|
|
|
/**
|
|
/**
|
|
* Provide quantile counters for all latencies.
|
|
* Provide quantile counters for all latencies.
|
|
@@ -155,6 +163,8 @@ public final class RouterMetrics {
|
|
private MutableQuantiles updateAppPriorityLatency;
|
|
private MutableQuantiles updateAppPriorityLatency;
|
|
private MutableQuantiles updateAppTimeoutsLatency;
|
|
private MutableQuantiles updateAppTimeoutsLatency;
|
|
private MutableQuantiles signalToContainerLatency;
|
|
private MutableQuantiles signalToContainerLatency;
|
|
|
|
+ private MutableQuantiles getQueueInfoLatency;
|
|
|
|
+ private MutableQuantiles moveApplicationAcrossQueuesLatency;
|
|
|
|
|
|
private static volatile RouterMetrics instance = null;
|
|
private static volatile RouterMetrics instance = null;
|
|
private static MetricsRegistry registry;
|
|
private static MetricsRegistry registry;
|
|
@@ -237,6 +247,14 @@ public final class RouterMetrics {
|
|
signalToContainerLatency =
|
|
signalToContainerLatency =
|
|
registry.newQuantiles("signalToContainerLatency",
|
|
registry.newQuantiles("signalToContainerLatency",
|
|
"latency of signal to container timeouts", "ops", "latency", 10);
|
|
"latency of signal to container timeouts", "ops", "latency", 10);
|
|
|
|
+
|
|
|
|
+ getQueueInfoLatency =
|
|
|
|
+ registry.newQuantiles("getQueueInfoLatency",
|
|
|
|
+ "latency of get queue info timeouts", "ops", "latency", 10);
|
|
|
|
+
|
|
|
|
+ moveApplicationAcrossQueuesLatency =
|
|
|
|
+ registry.newQuantiles("moveApplicationAcrossQueuesLatency",
|
|
|
|
+ "latency of move application across queues timeouts", "ops", "latency", 10);
|
|
}
|
|
}
|
|
|
|
|
|
public static RouterMetrics getMetrics() {
|
|
public static RouterMetrics getMetrics() {
|
|
@@ -363,6 +381,16 @@ public final class RouterMetrics {
|
|
return totalSucceededSignalToContainerRetrieved.lastStat().numSamples();
|
|
return totalSucceededSignalToContainerRetrieved.lastStat().numSamples();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @VisibleForTesting
|
|
|
|
+ public long getNumSucceededGetQueueInfoRetrieved() {
|
|
|
|
+ return totalSucceededGetQueueInfoRetrieved.lastStat().numSamples();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @VisibleForTesting
|
|
|
|
+ public long getNumSucceededMoveApplicationAcrossQueuesRetrieved() {
|
|
|
|
+ return totalSucceededMoveApplicationAcrossQueuesRetrieved.lastStat().numSamples();
|
|
|
|
+ }
|
|
|
|
+
|
|
@VisibleForTesting
|
|
@VisibleForTesting
|
|
public double getLatencySucceededAppsCreated() {
|
|
public double getLatencySucceededAppsCreated() {
|
|
return totalSucceededAppsCreated.lastStat().mean();
|
|
return totalSucceededAppsCreated.lastStat().mean();
|
|
@@ -468,6 +496,16 @@ public final class RouterMetrics {
|
|
return totalSucceededSignalToContainerRetrieved.lastStat().mean();
|
|
return totalSucceededSignalToContainerRetrieved.lastStat().mean();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @VisibleForTesting
|
|
|
|
+ public double getLatencySucceededGetQueueInfoRetrieved() {
|
|
|
|
+ return totalSucceededGetQueueInfoRetrieved.lastStat().mean();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @VisibleForTesting
|
|
|
|
+ public double getLatencySucceededMoveApplicationAcrossQueuesRetrieved() {
|
|
|
|
+ return totalSucceededMoveApplicationAcrossQueuesRetrieved.lastStat().mean();
|
|
|
|
+ }
|
|
|
|
+
|
|
@VisibleForTesting
|
|
@VisibleForTesting
|
|
public int getAppsFailedCreated() {
|
|
public int getAppsFailedCreated() {
|
|
return numAppsFailedCreated.value();
|
|
return numAppsFailedCreated.value();
|
|
@@ -573,6 +611,14 @@ public final class RouterMetrics {
|
|
return numSignalToContainerFailedRetrieved.value();
|
|
return numSignalToContainerFailedRetrieved.value();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public int getQueueInfoFailedRetrieved() {
|
|
|
|
+ return numGetQueueInfoFailedRetrieved.value();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public int getMoveApplicationAcrossQueuesFailedRetrieved() {
|
|
|
|
+ return numMoveApplicationAcrossQueuesFailedRetrieved.value();
|
|
|
|
+ }
|
|
|
|
+
|
|
public void succeededAppsCreated(long duration) {
|
|
public void succeededAppsCreated(long duration) {
|
|
totalSucceededAppsCreated.add(duration);
|
|
totalSucceededAppsCreated.add(duration);
|
|
getNewApplicationLatency.add(duration);
|
|
getNewApplicationLatency.add(duration);
|
|
@@ -678,6 +724,16 @@ public final class RouterMetrics {
|
|
signalToContainerLatency.add(duration);
|
|
signalToContainerLatency.add(duration);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void succeededGetQueueInfoRetrieved(long duration) {
|
|
|
|
+ totalSucceededGetQueueInfoRetrieved.add(duration);
|
|
|
|
+ getQueueInfoLatency.add(duration);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void succeededMoveApplicationAcrossQueuesRetrieved(long duration) {
|
|
|
|
+ totalSucceededMoveApplicationAcrossQueuesRetrieved.add(duration);
|
|
|
|
+ moveApplicationAcrossQueuesLatency.add(duration);
|
|
|
|
+ }
|
|
|
|
+
|
|
public void incrAppsFailedCreated() {
|
|
public void incrAppsFailedCreated() {
|
|
numAppsFailedCreated.incr();
|
|
numAppsFailedCreated.incr();
|
|
}
|
|
}
|
|
@@ -761,4 +817,12 @@ public final class RouterMetrics {
|
|
public void incrSignalToContainerFailedRetrieved() {
|
|
public void incrSignalToContainerFailedRetrieved() {
|
|
numSignalToContainerFailedRetrieved.incr();
|
|
numSignalToContainerFailedRetrieved.incr();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public void incrGetQueueInfoFailedRetrieved() {
|
|
|
|
+ numGetQueueInfoFailedRetrieved.incr();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public void incrMoveApplicationAcrossQueuesFailedRetrieved() {
|
|
|
|
+ numMoveApplicationAcrossQueuesFailedRetrieved.incr();
|
|
|
|
+ }
|
|
}
|
|
}
|