Exemple #1
0
        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());
        }
Exemple #2
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
 protected virtual TopologyExtractor CreateDagExtractor(DirectoryDatabaseAvailabilityGroup directoryDag)
 {
     return(this.CreateContainerParentExtractor(directoryDag));
 }
Exemple #5
0
 protected override TopologyExtractor CreateDagExtractor(DirectoryDatabaseAvailabilityGroup directoryDag)
 {
     return(ParallelParentContainerExtractor.CreateExtractor(directoryDag, this, base.Logger));
 }