Пример #1
0
        public virtual string GetMetric(ComputerMetricsEnum type)
        {
            var value = "";

            switch (type)
            {
            case CpuUsage:

                value = GetValueFromWmi("Win32_PerfFormattedData_PerfOS_Processor", "PercentProcessorTime");
                break;

            case ComputerName:

                value = Environment.MachineName;
                break;

            case UserName:

                value = Environment.UserDomainName + @"\" + Environment.UserName;
                break;

            case AvailableRam:

                var availableRam = int.Parse(GetValueFromWmi("Win32_OperatingSystem", "TotalVisibleMemorySize"));
                value = (availableRam / 1024).ToString();
                break;

            case VideoCard:

                value = GetValueFromWmi("Win32_VideoController", "Name");
                break;

            case Ip:

                var host = Dns.GetHostEntry(Dns.GetHostName());
                foreach (var ip in host.AddressList)
                {
                    if (ip.AddressFamily == AddressFamily.InterNetwork)
                    {
                        value = ip.ToString();
                    }
                }
                break;

            case Cpu:

                value = GetValueFromWmi("Win32_Processor", "Name");
                break;

            case RamUsage:

                var free            = double.Parse(GetValueFromWmi("Win32_OperatingSystem", "FreePhysicalMemory"));
                var total           = double.Parse(GetValueFromWmi("Win32_OperatingSystem", "TotalVisibleMemorySize"));
                var ramUsagePercent = (int)Math.Round((total - free) / total * 100);
                value = ramUsagePercent.ToString();
                break;

            case AvailableDiskSpaceGb:

                var  allDrives = DriveInfo.GetDrives();
                long sum       = 0;
                foreach (var d in allDrives)
                {
                    if (d.IsReady)
                    {
                        sum += d.TotalFreeSpace.BytesToGygabytes();
                    }
                }

                value = sum.ToString();
                break;

            case AverageDiskQueueLength:

                value = GetValueFromWmi("win32_perfformatteddata_perfdisk_physicaldisk", "AvgDiskQueueLength");
                break;

            default:

                value = "";
                break;
            }

            return(value);
        }
Пример #2
0
        public virtual string GetMetric(ComputerMetricsEnum type)
        {
            var value = "";
            switch (type)
            {
                case CpuUsage:

                    value = GetValueFromWmi("Win32_PerfFormattedData_PerfOS_Processor", "PercentProcessorTime");
                    break;

                case ComputerName:

                    value = Environment.MachineName;
                    break;

                case UserName:

                    value = Environment.UserDomainName + @"\" + Environment.UserName;
                    break;

                case AvailableRam:

                    var availableRam = int.Parse(GetValueFromWmi("Win32_OperatingSystem", "TotalVisibleMemorySize"));
                    value = (availableRam / 1024).ToString();
                    break;

                case VideoCard:

                    value = GetValueFromWmi("Win32_VideoController", "Name");
                    break;

                case Ip:

                    var host = Dns.GetHostEntry(Dns.GetHostName());
                    foreach (var ip in host.AddressList)
                    {
                        if (ip.AddressFamily == AddressFamily.InterNetwork)
                        {
                            value = ip.ToString();
                        }
                    }
                    break;

                case Cpu:

                    value = GetValueFromWmi("Win32_Processor", "Name");
                    break;

                case RamUsage:

                    var free = double.Parse(GetValueFromWmi("Win32_OperatingSystem", "FreePhysicalMemory"));
                    var total = double.Parse(GetValueFromWmi("Win32_OperatingSystem", "TotalVisibleMemorySize"));
                    var ramUsagePercent = (int)Math.Round((total - free) / total * 100);
                    value = ramUsagePercent.ToString();
                    break;

                case AvailableDiskSpaceGb:

                    var allDrives = DriveInfo.GetDrives();
                    long sum = 0;
                    foreach (var d in allDrives)
                    {
                        if (d.IsReady)
                        {
                            sum += d.TotalFreeSpace.BytesToGygabytes();
                        }
                    }

                    value = sum.ToString();
                    break;

                case AverageDiskQueueLength:

                    value = GetValueFromWmi("win32_perfformatteddata_perfdisk_physicaldisk", "AvgDiskQueueLength");
                    break;

                default:

                    value = "";
                    break;

            }

            return value;
        }