예제 #1
0
        private void UpdateOperationSystemAndProfile(string clientOperatingSystem, string clientPlatForm)
        {
            List <string> OSList       = ClientProfileDom.StringToList(clientOperatingSystem);
            List <string> platFormList = ClientProfileDom.StringToList(clientPlatForm);

            foreach (var item in OperatingSystem)
            {
                if (!OSList.Contains(item))
                {
                    OSList.Add(item);
                }
            }

            OperatingSystem = OSList;

            foreach (var item in Platform)
            {
                if (!platFormList.Contains(item))
                {
                    platFormList.Add(item);
                }
            }

            Platform = platFormList;
        }
예제 #2
0
 public ClientProfileDom GetClientProfile(long clientCount = -1)
 {
     return(new ClientProfileDom()
     {
         MaximumConnectedClients = clientCount != -1 ? clientCount : MaximumConnectedClients,
         MaximumCores = MaximumCores == -1 ? 0 : MaximumCores,
         MaximumMemory = MaximumMemory == -1 ? 0 : MaximumMemory,
         MinimumCores = MinimunCores == -1 ? 0 : MinimunCores,
         MinimumMemory = MinimunMemory == -1 ? 0 : MinimunMemory,
         OperatingSystem = ClientProfileDom.ListToStringConvert(OperatingSystem),
         Platform = ClientProfileDom.ListToStringConvert(Platform)
     });
 }
예제 #3
0
        public override ClientProfileDom GetClientProfileReport(string cacheId)
        {
            ClientProfileDom clientProfile = null;

            if (cacheInfo != null)
            {
                InstrumentCache cache = cacheInfo.Cache;
                if (cache != null)
                {
                    clientProfile = cache.GetClientProfileReport();
                }
            }

            return(clientProfile);
        }
예제 #4
0
        public void UpdateClientUsageProfile(ClientProfileDom clientProfile)
        {
            if (MaximumConnectedClients < clientProfile.MaximumConnectedClients)
            {
                MaximumConnectedClients = clientProfile.MaximumConnectedClients;
            }

            if (MaximumCores == 0)
            {
                MaximumCores = clientProfile.MaximumCores;
            }
            if (MinimunCores == 0)
            {
                MinimunCores = clientProfile.MinimumCores;
            }


            if (clientProfile.MaximumCores > MaximumCores)
            {
                MaximumCores = clientProfile.MaximumCores;
            }

            if (clientProfile.MinimumCores < MinimunCores)
            {
                MinimunCores = clientProfile.MinimumCores;
            }

            if (MaximumMemory == 0)
            {
                MaximumMemory = clientProfile.MaximumMemory;
            }
            if (MinimunMemory == 0)
            {
                MinimunMemory = clientProfile.MinimumMemory;
            }

            if (clientProfile.MaximumMemory > MaximumMemory)
            {
                MaximumMemory = clientProfile.MaximumMemory;
            }

            if (clientProfile.MinimumMemory < MinimunMemory)
            {
                MinimunMemory = clientProfile.MinimumMemory;
            }

            UpdateClientOperationSystemAndProfile(clientProfile.OperatingSystem, clientProfile.Platform);
        }
예제 #5
0
        private void UpdateClientOperationSystemAndProfile(string clientOperatingSystem, string clientPlatForm)
        {
            List <string> OSList       = ClientProfileDom.StringToList(clientOperatingSystem);
            List <string> platFormList = ClientProfileDom.StringToList(clientPlatForm);


            foreach (var item in OSList)
            {
                if (!OperatingSystem.Contains(item))
                {
                    OperatingSystem.Add(item);
                }
            }

            foreach (var item in platFormList)
            {
                if (!Platform.Contains(item))
                {
                    Platform.Add(item);
                }
            }
        }
예제 #6
0
        public void SyncClientProfiletoPresistanceState(ClientProfileDom clientProfile)
        {
            if (_configuration != null && _configuration.Profile != null && _configuration.Profile.ClientProfile != null)
            {
                Common.FeatureUsageData.ClientUsage clientUsage = new Common.FeatureUsageData.ClientUsage();

                clientUsage.UpdateClientUsageProfile(clientProfile);

                if (!hasDefualtValues(_configuration.Profile.ClientProfile))
                {
                    clientUsage.UpdateConfigUsageProfile(_configuration.Profile.ClientProfile);
                }

                var domProfile = clientUsage.GetClientProfile();

                _finalConfiguration.Profile.ClientProfile = domProfile;
            }
            else
            {
                _finalConfiguration.Profile.ClientProfile = clientProfile;
            }
        }
예제 #7
0
 private bool hasDefaultValues(ClientProfileDom clientProfile)
 {
     return(clientProfile.MaximumCores == 0 && clientProfile.MinimumCores == 0 && clientProfile.MinimumMemory == 0 && clientProfile.MaximumMemory == 0);
 }