messageBuilder.append("\tUsed containers: ").append(resourceUsageReport.getNumUsedContainers()).append("\n"); Resource usedResource = resourceUsageReport.getUsedResources(); if (usedResource != null) { messageBuilder.append("\tUsed memory (MBs): ").append(usedResource.getMemory()).append("\n");
public static ApplicationResourceUsageReport newApplicationResourceUsageReport( int numUsedContainers, int numReservedContainers, Resource usedResources, Resource reservedResources, Resource neededResources, long memorySeconds, long vcoreSeconds) { ApplicationResourceUsageReport report = recordFactory.newRecordInstance(ApplicationResourceUsageReport.class); report.setNumUsedContainers(numUsedContainers); report.setNumReservedContainers(numReservedContainers); report.setUsedResources(usedResources); report.setReservedResources(reservedResources); report.setNeededResources(neededResources); report.setMemorySeconds(memorySeconds); report.setVcoreSeconds(vcoreSeconds); return report; }
public static ApplicationResourceUsageReport newApplicationResourceUsageReport( int numUsedContainers, int numReservedContainers, Resource usedResources, Resource reservedResources, Resource neededResources, long memorySeconds, long vcoreSeconds, long gpuSeconds, long preemptedMemorySeconds, long preemptedVcoreSeconds, long preemptedGPUSeconds) { ApplicationResourceUsageReport report = recordFactory.newRecordInstance(ApplicationResourceUsageReport.class); report.setNumUsedContainers(numUsedContainers); report.setNumReservedContainers(numReservedContainers); report.setUsedResources(usedResources); report.setReservedResources(reservedResources); report.setNeededResources(neededResources); report.setMemorySeconds(memorySeconds); report.setVcoreSeconds(vcoreSeconds); report.setGPUSeconds(gpuSeconds); report.setPreemptedMemorySeconds(preemptedMemorySeconds); report.setPreemptedVcoreSeconds(preemptedVcoreSeconds); report.setPreemptedGPUSeconds(preemptedGPUSeconds); return report; }
if (resourceUsageReport != null) { jobStatus.setNeededMem( resourceUsageReport.getNeededResources().getMemory()); jobStatus.setNumReservedSlots( resourceUsageReport.getNumReservedContainers()); jobStatus.setNumUsedSlots(resourceUsageReport.getNumUsedContainers()); jobStatus.setReservedMem( resourceUsageReport.getReservedResources().getMemory()); jobStatus.setUsedMem(resourceUsageReport.getUsedResources().getMemory());
priority = 0; usedContainers = appReport.getApplicationResourceUsageReport().getNumUsedContainers(); displayStringsMap.put(Columns.CONT, String.valueOf(usedContainers)); reservedContainers = appReport.getApplicationResourceUsageReport() .getNumReservedContainers(); displayStringsMap.put(Columns.RCONT, String.valueOf(reservedContainers)); usedVirtualCores = appReport.getApplicationResourceUsageReport().getUsedResources() .getVirtualCores(); displayStringsMap.put(Columns.VCORES, String.valueOf(usedVirtualCores)); usedMemory = appReport.getApplicationResourceUsageReport().getUsedResources() .getMemorySize() / 1024; displayStringsMap.put(Columns.MEM, String.valueOf(usedMemory) + "G"); reservedVirtualCores = appReport.getApplicationResourceUsageReport().getReservedResources() .getVirtualCores(); displayStringsMap.put(Columns.RVCORES, String.valueOf(reservedVirtualCores)); reservedMemory = appReport.getApplicationResourceUsageReport().getReservedResources() .getMemorySize() / 1024; displayStringsMap.put(Columns.RMEM, String.valueOf(reservedMemory) + "G"); appReport.getApplicationResourceUsageReport().getMemorySeconds() / 1024; displayStringsMap.put(Columns.MEMSECS, String.valueOf(memorySeconds)); vcoreSeconds =
public AggregateAppResourceUsage getAggregateAppResourceUsage() { long memorySeconds = finishedMemorySeconds.get(); long vcoreSeconds = finishedVcoreSeconds.get(); // Only add in the running containers if this is the active attempt. RMAppAttempt currentAttempt = rmContext.getRMApps() .get(attemptId.getApplicationId()).getCurrentAppAttempt(); if (currentAttempt.getAppAttemptId().equals(attemptId)) { ApplicationResourceUsageReport appResUsageReport = rmContext .getScheduler().getAppResourceUsageReport(attemptId); if (appResUsageReport != null) { memorySeconds += appResUsageReport.getMemorySeconds(); vcoreSeconds += appResUsageReport.getVcoreSeconds(); } } return new AggregateAppResourceUsage(memorySeconds, vcoreSeconds); }
/** * Display a formatted summary of the job progress report from the AM. * * @param report * the report to display. */ private void displayJobReport(final ApplicationReport report) { if(null == report) { throw new IllegalStateException(String.format( "[*] Latest ApplicationReport for job %s was not received by the local client.", getAppName())); } final float elapsed = (System.currentTimeMillis() - report.getStartTime()) / 1000.0f; LOG.info("{}, Elapsed: {}", getAppName(), String.format("%.2f secs", elapsed)); LOG.info("{}, State: {} , Containers: used/reserved/needed-resources {}/{}/{}", report .getCurrentApplicationAttemptId(), report.getYarnApplicationState().name(), report .getApplicationResourceUsageReport().getNumUsedContainers(), report.getApplicationResourceUsageReport() .getNumReservedContainers(), report.getApplicationResourceUsageReport().getNeededResources()); }
attempt.getApplicationResourceUsageReport(); if (resourceReport != null) { Resource usedResources = resourceReport.getUsedResources(); Resource reservedResources = resourceReport.getReservedResources(); allocatedMB = usedResources.getMemorySize(); allocatedVCores = usedResources.getVirtualCores(); reservedMB = reservedResources.getMemorySize(); reservedVCores = reservedResources.getVirtualCores(); runningContainers = resourceReport.getNumUsedContainers(); queueUsagePercentage = resourceReport.getQueueUsagePercentage(); clusterUsagePercentage = resourceReport.getClusterUsagePercentage();
@Override public ApplicationResourceUsageReport getApplicationResourceUsageReport() { this.readLock.lock(); try { ApplicationResourceUsageReport report = scheduler.getAppResourceUsageReport(this.getAppAttemptId()); if (report == null) { report = RMServerUtils.DUMMY_APPLICATION_RESOURCE_USAGE_REPORT; } AggregateAppResourceUsage resUsage = this.attemptMetrics.getAggregateAppResourceUsage(); report.setMemorySeconds(resUsage.getMemorySeconds()); report.setVcoreSeconds(resUsage.getVcoreSeconds()); return report; } finally { this.readLock.unlock(); } }
private ApplicationReport getApplicationReport( YarnApplicationState yarnApplicationState, FinalApplicationStatus finalApplicationStatus) { ApplicationReport appReport = Mockito.mock(ApplicationReport.class); ApplicationResourceUsageReport appResources = Mockito .mock(ApplicationResourceUsageReport.class); Mockito.when(appReport.getApplicationId()).thenReturn( ApplicationId.newInstance(0, 0)); Mockito.when(appResources.getNeededResources()).thenReturn( Records.newRecord(Resource.class)); Mockito.when(appResources.getReservedResources()).thenReturn( Records.newRecord(Resource.class)); Mockito.when(appResources.getUsedResources()).thenReturn( Records.newRecord(Resource.class)); Mockito.when(appReport.getApplicationResourceUsageReport()).thenReturn( appResources); Mockito.when(appReport.getYarnApplicationState()).thenReturn( yarnApplicationState); Mockito.when(appReport.getFinalApplicationStatus()).thenReturn( finalApplicationStatus); return appReport; } }
if (usageReport != null) { appReportStr.print(usageReport.getMemorySeconds() + " MB-seconds, "); appReportStr.print(usageReport.getVcoreSeconds() + " vcore-seconds, "); appReportStr.println(usageReport.getGPUSeconds() + " gpu-seconds"); appReportStr.print("\tAggregate Resource Preempted : "); appReportStr.print(usageReport.getPreemptedMemorySeconds() + " MB-seconds, "); appReportStr.print(usageReport.getPreemptedVcoreSeconds() + " vcore-seconds, "); appReportStr.println(usageReport.getPreemptedGPUSeconds() + " gpu-seconds"); } else {
@Override public int getNumUsedSlots() { return report.getApplicationResourceUsageReport().getNumUsedContainers(); }
@Override public int getUsedMem() { return report.getApplicationResourceUsageReport(). getUsedResources().getMemory(); }
if (!effCap.equals(Resources.none())) { queueUsagePerc = calc.divide(totalPartitionRes, report.getUsedResources(), effCap) * 100; report.setQueueUsagePercentage(queueUsagePerc);
app.getApplicationResourceUsageReport(); Assert.assertEquals(123, applicationResourceUsageReport.getMemorySeconds()); Assert .assertEquals(345, applicationResourceUsageReport.getVcoreSeconds()); long expectedPreemptMemSecs = 456; long expectedPreemptVcoreSecs = 789; applicationResourceUsageReport.getPreemptedMemorySeconds()); Assert .assertEquals(expectedPreemptVcoreSecs, applicationResourceUsageReport .getPreemptedVcoreSeconds()); Assert.assertEquals(FinalApplicationStatus.UNDEFINED, app.getFinalApplicationStatus());
public synchronized ApplicationResourceUsageReport getResourceUsageReport() { AggregateAppResourceUsage resUsage = getRunningAggregateAppResourceUsage(); return ApplicationResourceUsageReport.newInstance(liveContainers.size(), reservedContainers.size(), Resources.clone(currentConsumption), Resources.clone(currentReservation), Resources.add(currentConsumption, currentReservation), resUsage.getMemorySeconds(), resUsage.getVcoreSeconds()); }
@Override public int getNeededMem() { return report.getApplicationResourceUsageReport(). getNeededResources().getMemory(); }
@Override public int getNumReservedSlots() { return report.getApplicationResourceUsageReport(). getNumReservedContainers(); }
@Override public int getReservedMem() { return report.getApplicationResourceUsageReport(). getReservedResources().getMemory(); }
if (resourceUsageReport != null) { jobStatus.setNeededMem( resourceUsageReport.getNeededResources().getMemory()); jobStatus.setNumReservedSlots( resourceUsageReport.getNumReservedContainers()); jobStatus.setNumUsedSlots(resourceUsageReport.getNumUsedContainers()); jobStatus.setReservedMem( resourceUsageReport.getReservedResources().getMemory()); jobStatus.setUsedMem(resourceUsageReport.getUsedResources().getMemory());