@Test public void testCounts() { SchedulerHealth sh = new SchedulerHealth(); int value = 1; for (int i = 0; i < 2; ++i) { sh.updateSchedulerPreemptionCounts(value); sh.updateSchedulerAllocationCounts(value); sh.updateSchedulerReservationCounts(value); sh.updateSchedulerReleaseCounts(value); Assert.assertEquals(value, sh.getAllocationCount().longValue()); Assert.assertEquals(value, sh.getReleaseCount().longValue()); Assert.assertEquals(value, sh.getReservationCount().longValue()); Assert.assertEquals(value, sh.getPreemptionCount().longValue()); Assert.assertEquals(value * (i + 1), sh.getAggregateAllocationCount() .longValue()); Assert.assertEquals(value * (i + 1), sh.getAggregateReleaseCount() .longValue()); Assert.assertEquals(value * (i + 1), sh.getAggregateReservationCount() .longValue()); Assert.assertEquals(value * (i + 1), sh.getAggregatePreemptionCount() .longValue()); } }
CapacitySchedulerHealthInfo(CapacityScheduler cs) { SchedulerHealth ht = cs.getSchedulerHealth(); lastrun = ht.getLastSchedulerRunTime(); operationsInfo = new ArrayList<>(); operationsInfo.add(new OperationInformation("last-allocation", ht.getLastAllocationDetails())); operationsInfo.add( new OperationInformation("last-release", ht.getLastReleaseDetails())); operationsInfo.add(new OperationInformation("last-preemption", ht.getLastPreemptionDetails())); operationsInfo.add(new OperationInformation("last-reservation", ht.getLastReservationDetails())); lastRunDetails = new ArrayList<>(); lastRunDetails.add(new LastRunDetails("releases", ht.getReleaseCount(), ht .getResourcesReleased())); lastRunDetails.add(new LastRunDetails("allocations", ht .getAllocationCount(), ht.getResourcesAllocated())); lastRunDetails.add(new LastRunDetails("reservations", ht .getReservationCount(), ht.getResourcesReserved())); } }
SchedulerHealth sh = new SchedulerHealth(); long now = Time.now(); sh.updateRelease(now, NodeId.newInstance("testhost", 1234), ContainerId.fromString("container_1427562107907_0002_01_000001"), "testqueue"); Assert.assertEquals("container_1427562107907_0002_01_000001", sh .getLastReleaseDetails().getContainerId().toString()); Assert.assertEquals("testhost:1234", sh.getLastReleaseDetails().getNodeId() .toString()); Assert.assertEquals("testqueue", sh.getLastReleaseDetails().getQueue()); Assert.assertEquals(now, sh.getLastReleaseDetails().getTimestamp()); Assert.assertEquals(0, sh.getLastSchedulerRunTime()); sh.updateReservation(now, NodeId.newInstance("testhost1", 1234), ContainerId.fromString("container_1427562107907_0003_01_000001"), "testqueue1"); Assert.assertEquals("container_1427562107907_0003_01_000001", sh .getLastReservationDetails().getContainerId().toString()); Assert.assertEquals("testhost1:1234", sh.getLastReservationDetails() .getNodeId().toString()); Assert .assertEquals("testqueue1", sh.getLastReservationDetails().getQueue()); Assert.assertEquals(now, sh.getLastReservationDetails().getTimestamp()); Assert.assertEquals(0, sh.getLastSchedulerRunTime()); sh.updateAllocation(now, NodeId.newInstance("testhost2", 1234), ContainerId.fromString("container_1427562107907_0004_01_000001"), "testqueue2"); Assert.assertEquals("container_1427562107907_0004_01_000001", sh
@Test public void testResourceUpdate() { SchedulerHealth sh = new SchedulerHealth(); long now = Time.now(); sh.updateSchedulerRunDetails(now, Resource.newInstance(1024, 1), Resource.newInstance(2048, 1)); Assert.assertEquals(now, sh.getLastSchedulerRunTime()); Assert.assertEquals(Resource.newInstance(1024, 1), sh.getResourcesAllocated()); Assert.assertEquals(Resource.newInstance(2048, 1), sh.getResourcesReserved()); now = Time.now(); sh.updateSchedulerReleaseDetails(now, Resource.newInstance(3072, 1)); Assert.assertEquals(now, sh.getLastSchedulerRunTime()); Assert.assertEquals(Resource.newInstance(3072, 1), sh.getResourcesReleased()); }
((CapacityScheduler) resourceManager.getResourceScheduler()) .getSchedulerHealth(); Assert.assertEquals(1, sh.getAllocationCount().longValue()); Assert.assertEquals(Resource.newInstance(1024, 1), sh.getResourcesAllocated()); Assert.assertEquals(1, sh.getAggregateAllocationCount().longValue()); Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails() .getNodeId().toString()); Assert.assertEquals("root.default", sh.getLastAllocationDetails() .getQueue()); Assert.assertEquals(0, sh.getAllocationCount().longValue()); Assert.assertEquals(1, sh.getReservationCount().longValue()); Assert.assertEquals(Resource.newInstance(2 * 1024, 1), sh.getResourcesReserved()); Assert.assertEquals(1, sh.getAggregateAllocationCount().longValue()); Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails() .getNodeId().toString()); Assert.assertEquals("root.default", sh.getLastAllocationDetails() .getQueue());
Assert.assertEquals(1, sh.getAllocationCount().longValue()); Assert.assertEquals(Resource.newInstance(1 * 1024, 1), sh.getResourcesAllocated()); Assert.assertEquals(2, sh.getAggregateAllocationCount().longValue()); Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails() .getNodeId().toString()); Assert.assertEquals("root.default", sh.getLastAllocationDetails() .getQueue()); Assert.assertEquals(1, sh.getAllocationCount().longValue()); Assert.assertEquals(Resource.newInstance(2 * 1024, 1), sh.getResourcesAllocated()); Assert.assertEquals(3, sh.getAggregateAllocationCount().longValue()); Assert.assertEquals("host_0:1234", sh.getLastAllocationDetails() .getNodeId().toString()); Assert.assertEquals("root.default", sh.getLastAllocationDetails() .getQueue());
String.valueOf(cs.getRootQueueMetrics() .getAggegatedReleasedContainers())) .td(healthInfo.getAggregateFulFilledReservationsCount().toString()) .td(healthInfo.getAggregatePreemptionCount().toString()).__().__().__(); div.h4("Last scheduler run"); tbody = .$class("ui-widget-content") .tr() .td(Times.format(healthInfo.getLastSchedulerRunTime())) .td( healthInfo.getAllocationCount().toString() + " - " + healthInfo.getResourcesAllocated().toString()) .td( healthInfo.getReservationCount().toString() + " - " + healthInfo.getResourcesReserved().toString()) .td( healthInfo.getReleaseCount().toString() + " - " + healthInfo.getResourcesReleased().toString()).__().__().__(); Map<String, SchedulerHealth.DetailedInformation> info = new HashMap<>(); info.put("Allocation", healthInfo.getLastAllocationDetails()); info.put("Reservation", healthInfo.getLastReservationDetails()); info.put("Release", healthInfo.getLastReleaseDetails()); info.put("Preemption", healthInfo.getLastPreemptionDetails());