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)); }
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)); }
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)); }