CloudWatchMonitor.MonitorService.UpdateMetrics C# (CSharp) Метод

UpdateMetrics() приватный Метод

private UpdateMetrics ( ) : void
Результат void
        private void UpdateMetrics()
        {
            if (!PopulateInstanceId())
                return;

            if (!PopulateRegion())
                return;

            List<Amazon.CloudWatch.Model.MetricDatum> metrics = new List<Amazon.CloudWatch.Model.MetricDatum>();

            if (_isSubmitDiskSpaceAvailable ||
                _isSubmitDiskSpaceUsed ||
                _isSubmitDiskSpaceUtilization)
            {
                // Get the list of drives from the system
                var drives = System.IO.DriveInfo.GetDrives();
                foreach (var drive in drives)
                {
                    AddDriveMetrics(drive, metrics);
                }
            }

            if (_isSubmitMemoryAvailable ||
                _isSubmitMemoryUsed ||
                _isSubmitMemoryUtilization ||
                _isSubmitPhysicalMemoryAvailable ||
                _isSubmitPhysicalMemoryUsed ||
                _isSubmitPhysicalMemoryUtilization ||
                _isSubmitVirtualMemoryAvailable ||
                _isSubmitVirtualMemoryUsed ||
                _isSubmitVirtualMemoryUtilization)
            {
                SubmitMemoryMetrics(metrics);
            }

            Info("\tSubmitting metric data");

            var client = CreateClient();

            for (int skip = 0; ; skip += 20)
            {
                var metricsThisRound = metrics.Skip(skip).Take(20);
                if (!metricsThisRound.Any())
                    break;

                var request = new Amazon.CloudWatch.Model.PutMetricDataRequest()
                {
                    Namespace = CloudWatchNamespace,
                    MetricData = metricsThisRound.ToList()
                };
                var response = client.PutMetricData(request);
            }

            // We don't care about the response

            Info("Done.");
        }