Exemplo n.º 1
0
        private void LoadOperations()
        {
            operationsList.View      = View.Details;
            operationsList.Alignment = ListViewAlignment.SnapToGrid;
            operationsList.BeginUpdate();
            operationsList.Items.Clear();

            operationsList.Columns.Add("Name");
            operationsList.Columns.Add("Resource");
            operationsList.Columns.Add("Description");
            operationsList.MultiSelect = false;
            var url    = "https://management.azure.com/providers/microsoft.insights/operations?api-version=2015-04-01";
            var result = ApiCallsManager.PerformGet(url);
            OperationsRootObject operations = JsonConvert.DeserializeObject <OperationsRootObject>(result);

            foreach (var operation in operations.value)
            {
                var item = new ListViewItem(new[] { operation.name, operation.display.resource, operation.display.description });
                operationsList.Items.Add(item);
                operationsList.Items[0].Checked = true;
            }

            operationsList.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.ColumnContent);
            operationsList.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent);
            operationsList.AutoResizeColumn(2, ColumnHeaderAutoResizeStyle.ColumnContent);
            operationsList.EndUpdate();
            operationsList.AllowSorting = true;
        }
Exemplo n.º 2
0
        private void vmMetricsList_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (vmMetricsList.SelectedItems.Count == 0)
                {
                    return;
                }

                if (vmChooser.SelectedItem == null)
                {
                    MetroMessageBox.Show(this, "Please select a virtual machine!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                string startDate = startVMTime.Text;
                string endDate   = endVMTime.Text;
                if (string.IsNullOrEmpty(startDate) || string.IsNullOrEmpty(endDate))
                {
                    MetroMessageBox.Show(this, "Please select a date!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                string resourceURI = ResourceService.GetResourcesByType("Microsoft.Compute/virtualMachines")
                                     .Where(x => x.name == vmChooser.SelectedItem.ToString())
                                     .Select(x => x.id)
                                     .FirstOrDefault();

                string metricNames = string.Empty;
                foreach (ListViewItem selectedMetricDefinition in vmMetricsList.SelectedItems)
                {
                    metricNames += selectedMetricDefinition.Tag + ",";
                }
                metricNames = metricNames.Remove(metricNames.Length - 1);

                DateTime startDateTime = DateTime.Parse(startDate).AddDays(-1);
                DateTime endDateTime   = DateTime.Parse(endDate);
                string   interval      = "PT12H";
                string   timespan      = $"{startDateTime.ToString("s")}Z/{endDateTime.ToString("s")}Z";
                string   metricsUrl    =
                    $"{Constants.ARMEndpoint}{resourceURI}{Constants.InsightsAPIURI}/metrics?timespan={timespan}&interval={interval}&metricnames={metricNames}&{Constants.ApiVersionURI}";
                var              json       = ApiCallsManager.PerformGet(metricsUrl);
                dynamic          parsedJson = JsonConvert.DeserializeObject(json);
                MetricRootObject metrics    = JsonConvert.DeserializeObject <MetricRootObject>(json);
                LoadVmChart(metrics, startDateTime, endDateTime);
            }
            catch (System.Exception ex)
            {
                MetroMessageBox.Show(this, "Unexpected error", ":(", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Exemplo n.º 3
0
        public double GetPercentageCPU()
        {
            string resourceURI = ResourceService.GetResourcesByType("Microsoft.Compute/virtualMachines")
                                 .Where(x => x.name == vmChooser.SelectedItem.ToString())
                                 .Select(x => x.id)
                                 .FirstOrDefault();

            string metricsUrl =
                $"{Constants.ARMEndpoint}{resourceURI}{Constants.InsightsAPIURI}/metrics?metricnames=Percentage CPU&{Constants.ApiVersionURI}";
            var              json       = ApiCallsManager.PerformGet(metricsUrl);
            dynamic          parsedJson = JsonConvert.DeserializeObject(json);
            MetricRootObject metrics    = JsonConvert.DeserializeObject <MetricRootObject>(json);

            return(metrics.value[metrics.value.Count - 1].timeseries[0].data[metrics.value[metrics.value.Count - 1].timeseries[0].data.Count - 1].average);
        }
Exemplo n.º 4
0
        private void webMetricsList_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            try
            {
                if (webMetricsList.SelectedItems.Count == 0)
                {
                    return;
                }

                if (websiteChooser.SelectedItem == null)
                {
                    MetroMessageBox.Show(this, "Please select a website!", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                string resourceURI = ResourceService.GetResourcesByType("Microsoft.Web/sites")
                                     .Where(x => x.name == websiteChooser.SelectedItem.ToString())
                                     .Select(x => x.id)
                                     .FirstOrDefault();

                string metricNames = string.Empty;
                foreach (ListViewItem selectedMetricDefinition in webMetricsList.SelectedItems)
                {
                    metricNames += selectedMetricDefinition.Tag + ",";
                }
                metricNames = metricNames.Remove(metricNames.Length - 1);

                string interval   = "PT1M";
                string timespan   = $"{DateTime.UtcNow.AddMinutes(-5).ToString("s")}Z/{DateTime.UtcNow.ToString("s")}Z";
                string metricsUrl =
                    $"{Constants.ARMEndpoint}{resourceURI}{Constants.InsightsAPIURI}/metrics?timespan={timespan}&interval={interval}&metricnames={metricNames}&{Constants.ApiVersionURI}";
                var              json       = ApiCallsManager.PerformGet(metricsUrl);
                dynamic          parsedJson = JsonConvert.DeserializeObject(json);
                MetricRootObject metrics    = JsonConvert.DeserializeObject <MetricRootObject>(json);
                LoadWebsiteChart(metrics);
            }
            catch (System.Exception ex)
            {
                MetroMessageBox.Show(this, "Unexpected error", ":(", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }