private HeatMapCapacityData GetDagCapacityDatum(DirectoryIdentity objectIdentity) { TopologyExtractorFactoryContext topologyExtractorFactoryContext = this.serviceContext.GetTopologyExtractorFactoryContext(); DirectoryDatabaseAvailabilityGroup directoryObject = (DirectoryDatabaseAvailabilityGroup)this.serviceContext.Directory.GetDirectoryObject(objectIdentity); TopologyExtractorFactory loadBalancingCentralFactory = topologyExtractorFactoryContext.GetLoadBalancingCentralFactory(); LoadContainer loadContainer = loadBalancingCentralFactory.GetExtractor(directoryObject).ExtractTopology(); return(loadContainer.ToCapacityData()); }
private LoadContainer GetDagContainer() { DirectoryDatabaseAvailabilityGroup directoryDatabaseAvailabilityGroup = this.context.Directory.GetDatabaseAvailabilityGroups().FirstOrDefault((DirectoryDatabaseAvailabilityGroup d) => d.Guid == base.Arguments.DagGuid); if (directoryDatabaseAvailabilityGroup == null) { throw new DagNotFoundException(base.Arguments.DagGuid.ToString()); } return(this.GetTopologyForDirectoryObject(directoryDatabaseAvailabilityGroup)); }
public virtual TopologyExtractor GetExtractor(DirectoryObject directoryObject) { DirectoryMailbox directoryMailbox = directoryObject as DirectoryMailbox; if (directoryMailbox != null) { return(this.CreateMailboxExtractor(directoryMailbox)); } DirectoryDatabase directoryDatabase = directoryObject as DirectoryDatabase; if (directoryDatabase != null) { return(this.CreateDatabaseExtractor(directoryDatabase)); } DirectoryServer directoryServer = directoryObject as DirectoryServer; if (directoryServer != null) { return(this.CreateServerExtractor(directoryServer)); } DirectoryDatabaseAvailabilityGroup directoryDatabaseAvailabilityGroup = directoryObject as DirectoryDatabaseAvailabilityGroup; if (directoryDatabaseAvailabilityGroup != null) { return(this.CreateDagExtractor(directoryDatabaseAvailabilityGroup)); } DirectoryForest directoryForest = directoryObject as DirectoryForest; if (directoryForest != null) { return(this.CreateForestExtractor(directoryForest)); } DirectoryContainerParent directoryContainerParent = directoryObject as DirectoryContainerParent; if (directoryContainerParent != null) { return(this.CreateContainerParentExtractor(directoryContainerParent)); } return(null); }
protected virtual TopologyExtractor CreateDagExtractor(DirectoryDatabaseAvailabilityGroup directoryDag) { return(this.CreateContainerParentExtractor(directoryDag)); }
protected override TopologyExtractor CreateDagExtractor(DirectoryDatabaseAvailabilityGroup directoryDag) { return(ParallelParentContainerExtractor.CreateExtractor(directoryDag, this, base.Logger)); }