private void Form1_Shown(object sender, EventArgs e) { // Initialize Cloud Watch with region APNorthEast1 (Tokyo) cw = Amazon.AWSClientFactory.CreateAmazonCloudWatchClient(AWSAccessKey, AWSSecretKey, RegionEndpoint.APNortheast1); // Retrieve the list of Metrics ListMetricsRequest metricsRequest = new ListMetricsRequest(); for (int i = 1; i < namespaceList.Count; i++) { fromindex[i] = metricList.Count; metricsRequest.Namespace = namespaceList[i]; metricsRequest.NextToken = null; try { var result = cw.ListMetrics(metricsRequest).ListMetricsResult; var tempList = result.Metrics; while (result.NextToken != null) { metricsRequest.NextToken = result.NextToken; result = cw.ListMetrics(metricsRequest).ListMetricsResult; tempList.AddRange(result.Metrics); } tempList = tempList.OrderBy(a => a.Dimensions.Count) .ThenBy(a => a.MetricName) .ThenBy(a => a.Dimensions.Count > 0 ? a.Dimensions[0].Name : "") .ThenBy(a => a.Dimensions.Count > 0 ? a.Dimensions[0].Value : "") .ThenBy(a => a.Dimensions.Count > 1 ? a.Dimensions[1].Name : "") .ThenBy(a => a.Dimensions.Count > 1 ? a.Dimensions[1].Value : "").ToList(); metricList.AddRange(tempList); toindex[i] = metricList.Count; // Debug.WriteLine(metricList.Count); } catch (Exception ex) { MessageBox.Show(ex.Message); this.Close(); return; } } // For all metrics fromindex[0] = 0; toindex[0] = metricList.Count; // Initialize plottedStat for (int i = 0; i < metricList.Count; i++) { plottedStat.Add(-1); // no stat was plotted } // Give control to search text box to start a search for metrics searchTBox.Select(); }