public ActionResult CpuUsage() { string[] blobNames = new string[1]; blobNames[0] = "nuget-prod-0-search" + @"\Processor(_Total)\% Processor Time" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow()); return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames, "CpuUsagetoday", 24 * 4, 800))); }
public ActionResult RestoreTrend() { int hour = 30; string blobName = "Restore" + hour + "Day"; return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobName, "Restore_Trend_For_Last_" + hour + "_Day", 24, 700))); }
public ActionResult MemUsage() { string[] blobNames = new string[1]; blobNames[0] = "nuget-prod-0-search" + @"\Memory\Available MBytes" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow()); return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames, "Memory_Usage_todayInMB", 24 * 4, 800))); }
internal static async Task<List<LineChartSeries>> BuildChartData(IDiagnosticsModuleStore context, DateTime from, DateTime to, Func<DiagnosticsEntry, string> propertyFilter, Func<DiagnosticsEntry, string> nameFunction) { var results = new List<LineChartSeries>(); var data = await context.FilterAsync(from, to, null, null, null, null, null, null, null, null, null, null, null, null); var groupedSeries = data.GroupBy(propertyFilter).ToList(); foreach (var seriesData in groupedSeries) { var series = new LineChartSeries(nameFunction(seriesData.First())); foreach (var date in ChartingUtilities.BuildLineChartAxis(from, to)) { series.Data.Add(date); } var groupedData = seriesData.GroupBy(x => x.Timestamp.Date).ToList(); foreach (var itemData in groupedData) { var date = itemData.Key; var errors = itemData.Count(); var point = series.Data.First(x => x.Date == date); point.Value = errors; } results.Add(series); } return results; }
public ActionResult DBConnectionsThisWeek() { string[] blobNames = new string[8]; for (int i = 0; i < 8; i++) { blobNames[i] = "DBConnections" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow().AddDays(-i)); } return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames, "DBConnections", 50, 600))); }
public ActionResult UsersThiSWeek() { string[] blobNames = new string[4]; for (int i = 0; i < 4; i++) { blobNames[i] = "Users" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow().AddDays(-i)) + "HourlyReport"; } return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames, "UsersPerHour", 24, 800))); }
public ActionResult PackageRestoreThisWeek() { string[] blobNames = new string[8]; for (int i = 0; i < 8; i++) { blobNames[i] = "package.restore.download" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow().AddDays(-i)) + "DetailedReport"; } return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames, "PackageRestoreThisWeek", 24, 800))); }
public ActionResult LatencyReport() { string today = String.Format("{0:yyyy-MM-dd}", DateTimeUtility.GetPacificTimeNow()); string[] blobNames = new string[3]; blobNames[0] = "UploadPackageTimeElapsed" + today; blobNames[1] = "SearchPackageTimeElapsed" + today; blobNames[2] = "DownloadPackageTimeElapsed" + today; return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames, "LatencyInMilliseconds", 3, 800))); }
public ActionResult OperationTrend() { int hour = 30; string[] Operation = new JavaScriptSerializer().Deserialize <string[]>(BlobStorageService.Load("OperationType.json")); List <string> blobNames = new List <string>(); foreach (string opt in Operation) { blobNames.Add(opt + hour + "Day"); } return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames.ToArray(), "Operations_Trend_For_Last_" + hour + "_Day", 24, 700))); }
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)); }
protected override async Task <object> ExecuteAsync(Command request) { var data = await _context.FilterAsync(request.DateFrom, request.DateTo, null, null, null, null, null, null, null, null, null, null, null, null); var groupedData = data.GroupBy(x => x.Timestamp.Date).ToList(); var chartData = ChartingUtilities.BuildLineChartAxis(request.DateFrom, request.DateTo); foreach (var itemData in groupedData) { var date = itemData.Key; var errors = itemData.Count(); var point = chartData.First(x => x.Date == date); point.Value = errors; } return(chartData); }
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)); }
protected override async Task <object> ExecuteAsync(Command request) { var data = await _context.FilterAsync(request.DateFrom, request.DateTo, null, null, null, null, null, null, null, null, 0, null); var groupedData = data.GroupBy(x => x.Timestamp.Date).ToList(); var chartData = ChartingUtilities.BuildLineChartAxis(request.DateFrom, request.DateTo); foreach (var itemData in groupedData) { var date = itemData.Key; var totalSize = itemData.Sum(x => x.RequestSize); var point = chartData.First(x => x.Date == date); // TODO: passar a unidade como configuração da lib point.Value = totalSize / 1024; } return(chartData); }
public ActionResult ResponseTimeOverview() { string[] blobNames = new string[] { "feed.raw.packages.listHourlyReport", "package.restore.downloadHourlyReport", "package.restore.lookupHourlyReport", "feed.top.30.by.downloadsHourlyReport", "packages.page.searchHourlyReport" }; return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName(blobNames, "PingdomResponsesInMillSec"))); }
public ActionResult ErrorRate() { return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName("ErrorRate" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow()), "ErrorsPerHour"))); }
public ActionResult Throughput() { return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName("IISRequests" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow()), "RequestsPerHour"))); }
public ActionResult DBConnections() { return(PartialView("~/Views/Shared/PartialChart.cshtml", ChartingUtilities.GetLineChartFromBlobName("DBConnections" + string.Format("{0:MMdd}", DateTimeUtility.GetPacificTimeNow()), "DBConnections", 12))); }