@Override public int compare(org.apache.eagle.jpm.mr.historyentity.TaskExecutionAPIEntity o1, org.apache.eagle.jpm.mr.historyentity.TaskExecutionAPIEntity o2) { Long time1 = o1.getDuration(); Long time2 = o2.getDuration(); return (time1 > time2 ? -1 : (time1.equals(time2)) ? 0 : 1); } }
public MRTaskExecutionResponse.TaskGroupResponse groupTasksByValue(MRTaskExecutionResponse.TaskGroupResponse result, boolean keepShort, List<TaskExecutionAPIEntity> tasks, long value) { for (TaskExecutionAPIEntity entity : tasks) { String taskType = entity.getTags().get(MRJobTagName.TASK_TYPE.toString()); MRTaskExecutionResponse.TaskGroup taskGroup = result.tasksGroupByType.get(taskType.toUpperCase()); if (entity.getDuration() <= value && keepShort) { taskGroup.shortTasks.add(entity); } if (entity.getDuration() > value) { taskGroup.longTasks.add(entity); } } return result; }
long duration = taskExecutionAPIEntity.getDuration(); long startTime = taskExecutionAPIEntity.getStartTime(); long endTime = taskExecutionAPIEntity.getEndTime();
private MRTaskExecutionResponse.TaskGroupResponse getTaskGroups(@QueryParam("site") String site, @QueryParam("shortJob_id") String shortDurationJobId, @QueryParam("longJob_id") String longDurationJobId) { MRTaskExecutionResponse.TaskGroupResponse result = new MRTaskExecutionResponse.TaskGroupResponse(); String query = String.format("%s[@site=\"%s\" AND @jobId=\"%s\"]{*}", Constants.MR_TASK_EXECUTION_SERVICE_NAME, site, shortDurationJobId); GenericServiceAPIResponseEntity<TaskExecutionAPIEntity> smallResponse = ResourceUtils.getQueryResult(query, null, null); if (!smallResponse.isSuccess() || smallResponse.getObj() == null) { result.errMessage = smallResponse.getException(); return result; } long longestDuration = 0; for (TaskExecutionAPIEntity entity : smallResponse.getObj()) { if (entity.getDuration() > longestDuration) { longestDuration = entity.getDuration(); } } query = String.format("%s[@site=\"%s\" AND @jobId=\"%s\"]{*}", Constants.MR_TASK_EXECUTION_SERVICE_NAME, site, longDurationJobId); GenericServiceAPIResponseEntity<TaskExecutionAPIEntity> largeResponse = ResourceUtils.getQueryResult(query, null, null); if (!largeResponse.isSuccess() || largeResponse.getObj() == null) { result.errMessage = largeResponse.getException(); return result; } result.tasksGroupByType = new HashMap<>(); result.tasksGroupByType.put(Constants.TaskType.MAP.toString(), new MRTaskExecutionResponse.TaskGroup()); result.tasksGroupByType.put(Constants.TaskType.REDUCE.toString(), new MRTaskExecutionResponse.TaskGroup()); groupTasksByValue(result, false, largeResponse.getObj(), longestDuration); groupTasksByValue(result, true, smallResponse.getObj(), longestDuration); return result; }
taskCountImpl.initTaskCountList(runningTaskCount, finishedTaskCount, times, new MRTaskCountImpl.HistoryTaskComparator()); for (org.apache.eagle.jpm.mr.historyentity.TaskExecutionAPIEntity o : historyRes.getObj()) { int index = ResourceUtils.getDistributionPosition(times, o.getDuration() / DateTimeUtil.ONESECOND); MRJobTaskCountResponse.UnitTaskCount counter = finishedTaskCount.get(index); taskCountImpl.countTask(counter, o.getTags().get(TASK_TYPE.toString()));
if (taskType.equals(Constants.TaskType.MAP.toString()) && entity.getDuration() > jobExecutionEntity.getMaxMapTaskDuration()) { jobExecutionEntity.setMaxMapTaskDuration(entity.getDuration()); if (taskType.equals(Constants.TaskType.REDUCE.toString()) && entity.getDuration() > jobExecutionEntity.getMaxReduceTaskDuration()) { jobExecutionEntity.setMaxReduceTaskDuration(entity.getDuration()); this.sumMapTaskDuration += entity.getDuration(); if (entity.getTaskStatus().equals(EagleTaskStatus.FAILED.name()) || entity.getTaskStatus().equals(EagleTaskStatus.KILLED.name())) { this.sumReduceTaskDuration += entity.getDuration(); if (entity.getTaskStatus().equals(EagleTaskStatus.FAILED.name()) || entity.getTaskStatus().equals(EagleTaskStatus.KILLED.name())) {
totalMapTime += task.getDuration(); if (mapStartTime > task.getStartTime()) { mapStartTime = task.getStartTime(); totalReduceTime += task.getDuration(); if (reduceStartTime > task.getStartTime()) { reduceStartTime = task.getStartTime();