コード例 #1
0
        public ActionResult AverageTimeTakenInMsTrendToday()
        {
            List <DotNet.Highcharts.Options.Series> seriesSet = new List <DotNet.Highcharts.Options.Series>();
            List <string> value = new List <string>();
            Dictionary <string, string> dict = BlobStorageService.GetDictFromBlob("IISRequestDetails" + String.Format("{0:MMdd}", DateTime.Now.AddDays(-1)) + ".json");

            if (dict != null)
            {
                List <IISRequestDetails>            requestDetails = new List <IISRequestDetails>();
                Dictionary <string, List <object> > request        = new Dictionary <string, List <object> >();
                foreach (KeyValuePair <string, string> keyValuePair in dict)
                {
                    value.Add(keyValuePair.Key.Substring(0, 2));
                    requestDetails = new JavaScriptSerializer().Deserialize <List <IISRequestDetails> >(keyValuePair.Value);

                    foreach (IISRequestDetails scenarios in requestDetails)
                    {
                        if (scenarios.ScenarioName.Equals("Over all requests"))
                        {
                            continue;
                        }
                        if (request.ContainsKey(scenarios.ScenarioName))
                        {
                            request[scenarios.ScenarioName].Add(scenarios.AvgTimeTakenInMilliSeconds);
                        }
                        else
                        {
                            List <object> Yvalue = new List <object>();
                            Yvalue.Add(scenarios.AvgTimeTakenInMilliSeconds);
                            request.Add(scenarios.ScenarioName, Yvalue);
                        }
                    }
                }

                foreach (KeyValuePair <string, List <object> > each in request)
                {
                    seriesSet.Add(new DotNet.Highcharts.Options.Series
                    {
                        Data = new Data(each.Value.ToArray()),
                        Name = each.Key.Replace(" ", "_")
                    });
                }
            }
            DotNet.Highcharts.Highcharts chart = ChartingUtilities.GetLineChart(seriesSet, value, "TodayAvgTimeInMsTrend", 500);
            return(PartialView("~/Views/Shared/PartialChart.cshtml", chart));
        }
コード例 #2
0
        public ActionResult ThisWeek()
        {
            //Returns the chart for Average response for the last week
            string[] checkNames = new string[] { "feed.raw.packages.list", "package.restore.download", "package.restore.lookup", "feed.top.30.by.downloads" };
            List <DotNet.Highcharts.Options.Series> seriesSet = new List <DotNet.Highcharts.Options.Series>();
            List <string> xValues = new List <string>();
            List <object> yValues = new List <object>();

            foreach (string check in checkNames)
            {
                //Get the response values from pre-created blobs for each check.
                BlobStorageService.GetJsonDataFromBlob(check + "WeeklyReport.json", out xValues, out yValues);
                seriesSet.Add(new DotNet.Highcharts.Options.Series
                {
                    Data = new Data(yValues.ToArray()),
                    Name = check
                });
            }
            DotNet.Highcharts.Highcharts chart = ChartingUtilities.GetLineChart(seriesSet, xValues, "AvgResponseTime", 600);
            return(PartialView("~/Views/Shared/PartialChart.cshtml", chart));
        }
コード例 #3
0
        public ActionResult AverageLatencyTrendThisWeek()
        {
            List <string> value = new List <string>();
            Dictionary <string, List <object> >     time      = new Dictionary <string, List <object> >();
            List <DotNet.Highcharts.Options.Series> seriesSet = new List <DotNet.Highcharts.Options.Series>();
            DateTime start = DateTimeUtility.GetPacificTimeNow().AddDays(-8);

            for (int i = 0; i < 8; i++)
            {
                string date = string.Format("{0:yyyy-MM-dd}", start.AddDays(i));
                List <Tuple <string, long, long, long> > scenarios = GetLatencyData(date);
                value.Add(string.Format("{0:yyyy-MM-dd}", start.AddDays(i)));
                for (int j = 0; j < scenarios.Count; j++)
                {
                    if (time.ContainsKey(scenarios[j].Item1))
                    {
                        time[scenarios[j].Item1].Add(scenarios[j].Item2.ToString());
                    }

                    else
                    {
                        List <object> Yvalue = new List <object>();
                        Yvalue.Add(scenarios[j].Item2.ToString());
                        time.Add(scenarios[j].Item1, Yvalue);
                    }
                }
            }

            foreach (KeyValuePair <string, List <object> > each in time)
            {
                seriesSet.Add(new DotNet.Highcharts.Options.Series
                {
                    Data = new Data(each.Value.ToArray()),
                    Name = each.Key.Replace(" ", "_")
                });
            }

            DotNet.Highcharts.Highcharts chart = ChartingUtilities.GetLineChart(seriesSet, value, "WeeklyAvgLatencyTrend", 500);
            return(PartialView("~/Views/Shared/PartialChart.cshtml", chart));
        }