/// <summary> /// collectAllocatedInfo - From a single job, collect a rowset of allocated resources and pass it on to core or node sorting /// </summary> /// <param name="job">ISchedulerJob job to collect allocation history</param> private static void collectAllocatedInfo(ISchedulerJob job) { if (bVerbose) { Console.WriteLine("Entering collectAllocatedInfo: job {0} project: {1}", job.Id, job.Project); } IPropertyIdCollection props = new PropertyIdCollection(); props.Add(AllocationProperties.NodeName); props.Add(AllocationProperties.NodeId); props.Add(AllocationProperties.CoreId); props.Add(AllocationProperties.StartTime); props.Add(AllocationProperties.EndTime); // OpenJobAllocationHistory returns information sorted by ascending AllocationProperties.StartTime using (ISchedulerRowEnumerator rows = job.OpenJobAllocationHistoryEnumerator(props)) { if (bNodesOnly) { NodeDuration(rows); } else { CoreDuration(rows); } } return; }