public BTreeAnalysisModel(BTreeReport bt) { _btreeReport = bt; Label = Name; var root = new NodeAnalysisModel(bt.RootNode); Children.Add(root); TotalKeyCount = root.TotalKeyCount; TotalNodeCount = root.TotalChildCount + 1; AvgKeysPerNode = TotalKeyCount/(double)TotalNodeCount; }
/// <summary> /// Invoked when the crawler encounters a BTree /// </summary> /// <param name="btreeName">The internal name for the btree</param> /// <param name="btreeId">The id of the btree root object</param> /// <param name="branchingFactor">The BTree's branching factor (maximum keys per node)</param> /// <param name="minimizationFactor">The BTree's minimization factor (minimum keys per node)</param> public void OnBTreeStart(string btreeName, ulong btreeId, int branchingFactor, int minimizationFactor) { _btreeReport = new BTreeReport(btreeName, btreeId, branchingFactor, minimizationFactor); }
/// <summary> /// Invoked when the crawler finishes processing a related resource list and all of its contents /// </summary> /// <param name="listId"></param> public void OnRelatedResourceListEnd(ulong listId) { _relatedResourceListReport = null; }
/// <summary> /// Invoked when the crawler finds a related resource list inside a BTree node /// </summary> /// <param name="listName"></param> /// <param name="listId"></param> /// <param name="branchingFactor"></param> /// <param name="minimizationFactor"></param> /// <remarks>On finding a related resource list, the crawler will crawl all the nodes in the related resource list btree, generating /// OnNodeStart and OnNodeEnd events</remarks> public void OnRelatedResourceListStart(string listName, ulong listId, int branchingFactor, int minimizationFactor) { _relatedResourceListReport = new BTreeReport(listName, listId, branchingFactor, minimizationFactor); _nodeReportStack.Peek().RelatedResourceLists.Add(_relatedResourceListReport); }