/// <summary>Print the job/task/attempt summary information</summary> /// <exception cref="System.IO.IOException"/> public virtual void Print() { PrintJobDetails(); PrintTaskSummary(); PrintJobAnalysis(); PrintTasks(TaskType.JobSetup, TaskStatus.State.Failed.ToString()); PrintTasks(TaskType.JobSetup, TaskStatus.State.Killed.ToString()); PrintTasks(TaskType.Map, TaskStatus.State.Failed.ToString()); PrintTasks(TaskType.Map, TaskStatus.State.Killed.ToString()); PrintTasks(TaskType.Reduce, TaskStatus.State.Failed.ToString()); PrintTasks(TaskType.Reduce, TaskStatus.State.Killed.ToString()); PrintTasks(TaskType.JobCleanup, TaskStatus.State.Failed.ToString()); PrintTasks(TaskType.JobCleanup, JobStatus.GetJobRunState(JobStatus.Killed)); if (printAll) { PrintTasks(TaskType.JobSetup, TaskStatus.State.Succeeded.ToString()); PrintTasks(TaskType.Map, TaskStatus.State.Succeeded.ToString()); PrintTasks(TaskType.Reduce, TaskStatus.State.Succeeded.ToString()); PrintTasks(TaskType.JobCleanup, TaskStatus.State.Succeeded.ToString()); PrintAllTaskAttempts(TaskType.JobSetup); PrintAllTaskAttempts(TaskType.Map); PrintAllTaskAttempts(TaskType.Reduce); PrintAllTaskAttempts(TaskType.JobCleanup); } HistoryViewer.FilteredJob filter = new HistoryViewer.FilteredJob(job, TaskStatus.State .Failed.ToString()); PrintFailedAttempts(filter); filter = new HistoryViewer.FilteredJob(job, TaskStatus.State.Killed.ToString()); PrintFailedAttempts(filter); }
private void PrintFailedAttempts(HistoryViewer.FilteredJob filteredJob) { IDictionary <string, ICollection <TaskID> > badNodes = filteredJob.GetFilteredMap(); StringBuilder attempts = new StringBuilder(); if (badNodes.Count > 0) { attempts.Append("\n").Append(filteredJob.GetFilter()); attempts.Append(" task attempts by nodes"); attempts.Append("\nHostname\tFailedTasks"); attempts.Append("\n==============================="); System.Console.Out.WriteLine(attempts.ToString()); foreach (KeyValuePair <string, ICollection <TaskID> > entry in badNodes) { string node = entry.Key; ICollection <TaskID> failedTasks = entry.Value; attempts.Length = 0; attempts.Append(node).Append("\t"); foreach (TaskID t in failedTasks) { attempts.Append(t).Append(", "); } System.Console.Out.WriteLine(attempts.ToString()); } } }