1 instantiation of PlanConfigData
Microsoft.Build (1)
BackEnd\Components\Scheduler\SchedulingPlan.cs (1)
415PlanConfigData data = new PlanConfigData(configId, configFullPath, accumulatedTime);
50 references to PlanConfigData
Microsoft.Build (50)
BackEnd\Components\Scheduler\Scheduler.cs (4)
934private void AssignUnscheduledRequestsWithPlan(List<ScheduleResponse> responses, HashSet<int> idleNodes, Func<SchedulingPlan.PlanConfigData, SchedulingPlan.PlanConfigData, bool> comparisonFunction) 938SchedulingPlan.PlanConfigData bestConfig = null; 946SchedulingPlan.PlanConfigData configToConsider = _schedulingPlan.GetConfiguration(request.BuildRequest.ConfigurationId);
BackEnd\Components\Scheduler\SchedulingPlan.cs (46)
37private Dictionary<string, PlanConfigData> _configPathToData = new Dictionary<string, PlanConfigData>(); 42private Dictionary<int, PlanConfigData> _configIdToData = new Dictionary<int, PlanConfigData>(); 47private Dictionary<int, List<Stack<PlanConfigData>>> _configIdToPaths = new Dictionary<int, List<Stack<PlanConfigData>>>(); 59public PlanConfigData GetConfiguration(int configId) 61_configPathToData.TryGetValue(_configCache[configId].ProjectFullPath, out PlanConfigData data); 192PlanConfigData config; 236List<KeyValuePair<int, PlanConfigData>> projectsInOrderOfTotalPlanTime = new(_configIdToData); 238foreach (KeyValuePair<int, PlanConfigData> configuration in projectsInOrderOfTotalPlanTime) 240PlanConfigData config = configuration.Value; 242foreach (PlanConfigData referrer in config.Referrers) 259List<KeyValuePair<int, PlanConfigData>> projectsInOrderOfImmediateChildCount = new(_configIdToData); 261foreach (KeyValuePair<int, PlanConfigData> configuration in projectsInOrderOfImmediateChildCount) 290Stack<PlanConfigData> currentPath = new Stack<PlanConfigData>(); 291PlanConfigData root = _configIdToData[1]; 298private void RecursiveVisitNodes(PlanConfigData root, Stack<PlanConfigData> currentPath) 301List<Stack<PlanConfigData>> pathsForConfig; 304pathsForConfig = new List<Stack<PlanConfigData>>(); 309Stack<PlanConfigData> pathToAdd = new Stack<PlanConfigData>(currentPath); 318foreach (PlanConfigData child in root.References) 334List<PlanConfigData> projectsByExpense = new List<PlanConfigData>(_configIdToData.Values); 337projectsByExpense.Sort(delegate (PlanConfigData left, PlanConfigData right) { return -Comparer<double>.Default.Compare(left.AccumulatedTime, right.AccumulatedTime); }); 339foreach (PlanConfigData config in projectsByExpense) 342List<Stack<PlanConfigData>> pathsByLength = _configIdToPaths[config.ConfigId]; 345pathsByLength.Sort(delegate (Stack<PlanConfigData> left, Stack<PlanConfigData> right) { return Comparer<int>.Default.Compare(left.Count, right.Count); }); 346foreach (Stack<PlanConfigData> path in pathsByLength) 349foreach (PlanConfigData pathEntry in path) 381PlanConfigData parent = _configIdToData[configId]; 386PlanConfigData child = _configIdToData[childId]; 415PlanConfigData data = new PlanConfigData(configId, configFullPath, accumulatedTime); 504private HashSet<PlanConfigData> _references = new HashSet<PlanConfigData>(); 509private HashSet<PlanConfigData> _referrers = new HashSet<PlanConfigData>(); 575public IEnumerable<PlanConfigData> References 591public IEnumerable<PlanConfigData> Referrers 599public void AddReference(PlanConfigData reference) 621foreach (PlanConfigData referrer in _referrers)