|
@@ -33,13 +33,14 @@ public class TestNodeManagerMetrics {
|
|
|
total.setMemory(8*GiB);
|
|
|
total.setVirtualCores(16);
|
|
|
Resource resource = Records.newRecord(Resource.class);
|
|
|
- resource.setMemory(1*GiB);
|
|
|
+ resource.setMemory(512); //512MiB
|
|
|
resource.setVirtualCores(2);
|
|
|
|
|
|
|
|
|
metrics.addResource(total);
|
|
|
|
|
|
- for (int i = 5; i-- > 0;) {
|
|
|
+ for (int i = 10; i-- > 0;) {
|
|
|
+ // allocate 10 containers(allocatedGB: 5GiB, availableGB: 3GiB)
|
|
|
metrics.launchedContainer();
|
|
|
metrics.allocateContainer(resource);
|
|
|
}
|
|
@@ -48,6 +49,7 @@ public class TestNodeManagerMetrics {
|
|
|
metrics.endInitingContainer();
|
|
|
metrics.runningContainer();
|
|
|
metrics.endRunningContainer();
|
|
|
+ // Releasing 3 containers(allocatedGB: 3.5GiB, availableGB: 4.5GiB)
|
|
|
metrics.completedContainer();
|
|
|
metrics.releaseContainer(resource);
|
|
|
|
|
@@ -61,12 +63,17 @@ public class TestNodeManagerMetrics {
|
|
|
metrics.runningContainer();
|
|
|
metrics.addContainerLaunchDuration(1);
|
|
|
|
|
|
- checkMetrics(5, 1, 1, 1, 1, 1, 2, 2, 6, 4, 12);
|
|
|
+ // availableGB is expected to be floored,
|
|
|
+ // while allocatedGB is expected to be ceiled.
|
|
|
+ // allocatedGB: 3.5GB allocated memory is shown as 4GB
|
|
|
+ // availableGB: 4.5GB available memory is shown as 4GB
|
|
|
+ checkMetrics(10, 1, 1, 1, 1, 1, 4, 7, 4, 14, 2);
|
|
|
}
|
|
|
|
|
|
private void checkMetrics(int launched, int completed, int failed, int killed,
|
|
|
- int initing, int running, int allocatedGB,
|
|
|
- int allocatedContainers, int availableGB, int allocatedVCores, int availableVCores) {
|
|
|
+ int initing, int running, int allocatedGB,
|
|
|
+ int allocatedContainers, int availableGB, int allocatedVCores,
|
|
|
+ int availableVCores) {
|
|
|
MetricsRecordBuilder rb = getMetrics("NodeManagerMetrics");
|
|
|
assertCounter("ContainersLaunched", launched, rb);
|
|
|
assertCounter("ContainersCompleted", completed, rb);
|