// GET: ResponseTimesBuckets/Create
        public ActionResult ShowPageTimes()
        {
            var listPageResponseModel = new List<PageResponseModel>();

            using (var pageStatusRepository = new PageStatusRepository())
            {
                var pageStatuses = pageStatusRepository.GetPageStatuses();

                var timeZoneId  = "Eastern Standard Time";
                var easternZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);

                foreach (var pageStatus in pageStatuses)
                {
                    var utcTime = new DateTime(
                        pageStatus.Created.Year,
                        pageStatus.Created.Month,
                        pageStatus.Created.Day,
                        pageStatus.Created.Hour,
                        pageStatus.Created.Minute,
                        pageStatus.Created.Second);

                    var easternTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, easternZone);

                    listPageResponseModel.Add(
                        new PageResponseModel
                        {
                            Url          = pageStatus.Url,
                            ResponseTime = pageStatus.ResponseTime,
                            Created      = easternTime
                        });
                }
            }

            return View(listPageResponseModel);
        }
Example #2
0
        private static async Task <IEnumerable <PageStatus> > HitPages()
        {
            var listPageStatus = new List <PageStatus>();

            try
            {
                using (var repoPages = new PagesRepository())
                {
                    using (var repoPageStatus = new PageStatusRepository())
                    {
                        //Get page with Monitor bit on.
                        var pages = repoPages.GetAllMonitor();
                        //var pages = repoPages.GetAllProdMonitor();
                        //var pages = repoPages.GetAllStgMonitor();

                        var pageGetter = new PageGetter();

                        foreach (var page in pages)
                        {
                            var pageStats = new PageStats {
                                Url = page.Url
                            };
                            var stats = await pageGetter.HTTP_GET(pageStats);

                            var pageStatus = new PageStatus
                            {
                                Url              = stats.Url,
                                ResponseTime     = stats.ResponseTime,
                                ContentLength    = stats.ContentLength,
                                ExceptionMessage = stats.ExceptionMessage,
                                Status           = stats.Status.ToString(),
                                Created          = DateTime.Now
                            };

                            repoPageStatus.Add(pageStatus);
                            repoPageStatus.SaveChanges();

                            listPageStatus.Add(pageStatus);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                // ReSharper disable once UnusedVariable
                var msg = ex.Message;
            }

            return(listPageStatus);
        }
Example #3
0
        // GET: Grid
        public ActionResult Index(ChartViewModel model)
        {
            var listPageResponseModel = new List <PageResponseModel>();

            using (var pageStatusRepository = new PageStatusRepository())
            {
                //Default to set date for debugging
                var startDate = DateTime.Now.Date.AddDays(-5).ToString(CultureInfo.InvariantCulture);
                var endDate   = DateTime.Now.Date.ToString(CultureInfo.InvariantCulture);

                if (model != null)
                {
                    startDate = model.StartDate.ToString(CultureInfo.InvariantCulture);
                    endDate   = model.EndDate.ToString(CultureInfo.InvariantCulture);
                }

                var pageStatuses = pageStatusRepository.GetPageStatusesByDate(startDate, endDate);

                var timeZoneId  = "Eastern Standard Time";
                var easternZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);


                foreach (var pageStatus in pageStatuses)
                {
                    var utcTime = new DateTime(
                        pageStatus.Created.Year,
                        pageStatus.Created.Month,
                        pageStatus.Created.Day,
                        pageStatus.Created.Hour,
                        pageStatus.Created.Minute,
                        pageStatus.Created.Second);

                    var easternTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, easternZone);

                    listPageResponseModel.Add(
                        new PageResponseModel
                    {
                        Url          = pageStatus.Url,
                        ResponseTime = pageStatus.ResponseTime,
                        Created      = easternTime
                    });
                }
            }

            ViewBag.datasource = listPageResponseModel;

            return(View());
        }
Example #4
0
        // GET: Grid
        public ActionResult Index(ChartViewModel model)
        {
            var listPageResponseModel = new List<PageResponseModel>();

            using (var pageStatusRepository = new PageStatusRepository())
            {
                //Default to set date for debugging
                var startDate = DateTime.Now.Date.AddDays(-5).ToString(CultureInfo.InvariantCulture);
                var endDate = DateTime.Now.Date.ToString(CultureInfo.InvariantCulture);

                if (model != null)
                {
                    startDate = model.StartDate.ToString(CultureInfo.InvariantCulture);
                    endDate = model.EndDate.ToString(CultureInfo.InvariantCulture);
                }

                var pageStatuses = pageStatusRepository.GetPageStatusesByDate(startDate, endDate);

                var timeZoneId = "Eastern Standard Time";
                var easternZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);

                foreach (var pageStatus in pageStatuses)
                {
                    var utcTime = new DateTime(
                        pageStatus.Created.Year,
                        pageStatus.Created.Month,
                        pageStatus.Created.Day,
                        pageStatus.Created.Hour,
                        pageStatus.Created.Minute,
                        pageStatus.Created.Second);

                    var easternTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, easternZone);

                    listPageResponseModel.Add(
                        new PageResponseModel
                        {
                            Url = pageStatus.Url,
                            ResponseTime = pageStatus.ResponseTime,
                            Created = easternTime
                        });
                }
            }

            ViewBag.datasource = listPageResponseModel;

            return View();
        }
Example #5
0
        private static void DirectAccess()
        {
            var repoPages = new PagesRepository();
            //var pages = repoPages.GetAllProdMonitor();
            var pages = repoPages.GetAllStgMonitor();

            var repoPageStatus = new PageStatusRepository();

            var pageGetter = new PageGetter();

            var counter = 1000;

            while (counter > 0)
            {
                foreach (var page in pages)
                {
                    Console.WriteLine($"Page: {page.Url}");

                    var pageStats = new PageStats {
                        Url = page.Url
                    };
                    var result = pageGetter.HTTP_GET(pageStats);
                    var stats  = result.Result;

                    var pageStatus = new PageStatus
                    {
                        Url              = stats.Url,
                        ResponseTime     = stats.ResponseTime,
                        ContentLength    = stats.ContentLength,
                        ExceptionMessage = stats.ExceptionMessage,
                        Status           = stats.Status.ToString(),
                        Created          = DateTime.Now
                    };

                    repoPageStatus.Add(pageStatus);
                    repoPageStatus.SaveChanges();

                    Console.WriteLine($"seconds: {stats.ResponseTime}  length: {stats.ContentLength} time: {DateTime.Now}");
                    Console.WriteLine();
                }

                Thread.Sleep(10000);

                counter--;
            }
        }
Example #6
0
		private static void DirectAccess()
		{
			var repoPages = new PagesRepository();
			//var pages = repoPages.GetAllProdMonitor();
			var pages = repoPages.GetAllStgMonitor();

			var repoPageStatus = new PageStatusRepository();

			var pageGetter = new PageGetter();

			var counter = 1000;

			while (counter > 0)
			{
				foreach (var page in pages)
				{
					Console.WriteLine($"Page: {page.Url}");

					var pageStats = new PageStats { Url = page.Url };
					var result = pageGetter.HTTP_GET(pageStats);
					var stats = result.Result;

					var pageStatus = new PageStatus
					{
						Url = stats.Url,
						ResponseTime = stats.ResponseTime,
						ContentLength = stats.ContentLength,
						ExceptionMessage = stats.ExceptionMessage,
						Status = stats.Status.ToString(),
						Created = DateTime.Now
					};

					repoPageStatus.Add(pageStatus);
					repoPageStatus.SaveChanges();

					Console.WriteLine($"seconds: {stats.ResponseTime}  length: {stats.ContentLength} time: {DateTime.Now}");
					Console.WriteLine();
				}

				Thread.Sleep(10000);

				counter--;
			}
		}
Example #7
0
        public ActionResult DrawChart(string startDate, string endDate, string url)
        {
            try
            {
                //var totalPages = 0;
                ResponseTimes responseTimes;
                using (var context = new PageStatusRepository())
                {
                    var responseTimesList = context.GetPageStatusByDate(startDate, endDate, url);

                    responseTimes = GetTimeBuckets(responseTimesList);
                }

                var urlAndPages = url + $"     Total Pages: {responseTimes.TotalCount}";

                var xValue = new string[responseTimes.ResponseTimeBuckets.Count];
                var yValue = new string[responseTimes.ResponseTimeBuckets.Count];

                for (var idx = 0; idx < responseTimes.ResponseTimeBuckets.Count; idx++)
                {
                    xValue[idx] = responseTimes.ResponseTimeBuckets[idx].BucketLabel;
                    yValue[idx] = responseTimes.ResponseTimeBuckets[idx].Count.ToString();
                }

                var chart = GetChart2(xValue, yValue, urlAndPages);

                var memStream = new MemoryStream();
                chart.SaveImage(memStream);
                return(File(memStream.GetBuffer(), "image/bytes"));

                //return File(chart.GetBytes(), "image/bytes");
            }

            catch (Exception ex)
            {
                // ReSharper disable once UnusedVariable
                var msg = ex.Message;
                return(RedirectToAction("Index", "Home"));
            }
        }
Example #8
0
        public ActionResult DrawChart(string startDate, string endDate, string url)
        {
            try
                {
                    //var totalPages = 0;
                    ResponseTimes responseTimes;
                    using (var context = new PageStatusRepository())
                    {
                        var responseTimesList = context.GetPageStatusByDate(startDate, endDate, url);

                        responseTimes = GetTimeBuckets(responseTimesList);
                    }

                    var urlAndPages = url + $"     Total Pages: {responseTimes.TotalCount}";

                    var xValue = new string[responseTimes.ResponseTimeBuckets.Count];
                    var yValue = new string[responseTimes.ResponseTimeBuckets.Count];

                    for (var idx = 0; idx < responseTimes.ResponseTimeBuckets.Count; idx++)
                    {
                        xValue[idx] = responseTimes.ResponseTimeBuckets[idx].BucketLabel;
                        yValue[idx] = responseTimes.ResponseTimeBuckets[idx].Count.ToString();
                    }

                    var chart = GetChart2(xValue, yValue, urlAndPages);

                    var memStream = new MemoryStream();
                    chart.SaveImage(memStream);
                    return File(memStream.GetBuffer(), "image/bytes");

                    //return File(chart.GetBytes(), "image/bytes");
                }

                catch (Exception ex)
                {
                    // ReSharper disable once UnusedVariable
                    var msg = ex.Message;
                    return RedirectToAction("Index", "Home");
                }
        }
        // GET: ResponseTimesBuckets/Create
        public ActionResult ShowPageTimes()
        {
            var listPageResponseModel = new List <PageResponseModel>();

            using (var pageStatusRepository = new PageStatusRepository())
            {
                var pageStatuses = pageStatusRepository.GetPageStatuses();

                var timeZoneId  = "Eastern Standard Time";
                var easternZone = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId);


                foreach (var pageStatus in pageStatuses)
                {
                    var utcTime = new DateTime(
                        pageStatus.Created.Year,
                        pageStatus.Created.Month,
                        pageStatus.Created.Day,
                        pageStatus.Created.Hour,
                        pageStatus.Created.Minute,
                        pageStatus.Created.Second);

                    var easternTime = TimeZoneInfo.ConvertTimeFromUtc(utcTime, easternZone);

                    listPageResponseModel.Add(
                        new PageResponseModel
                    {
                        Url          = pageStatus.Url,
                        ResponseTime = pageStatus.ResponseTime,
                        Created      = easternTime
                    });
                }
            }

            return(View(listPageResponseModel));
        }
Example #10
0
		private static async Task<IEnumerable<PageStatus>> HitPages()
		{
			var listPageStatus = new List<PageStatus>();

			try
			{
				using (var repoPages = new PagesRepository())
				{
					using (var repoPageStatus = new PageStatusRepository())
					{

						//Get page with Monitor bit on.
						var pages = repoPages.GetAllMonitor();
						//var pages = repoPages.GetAllProdMonitor();
						//var pages = repoPages.GetAllStgMonitor();

						var pageGetter = new PageGetter();

						foreach (var page in pages)
						{
							var pageStats = new PageStats { Url = page.Url };
							var stats = await pageGetter.HTTP_GET(pageStats);

							var pageStatus = new PageStatus
							{
								Url = stats.Url,
								ResponseTime = stats.ResponseTime,
								ContentLength = stats.ContentLength,
								ExceptionMessage = stats.ExceptionMessage,
								Status = stats.Status.ToString(),
								Created = DateTime.Now
							};

							repoPageStatus.Add(pageStatus);
							repoPageStatus.SaveChanges();

							listPageStatus.Add(pageStatus);
						}  
					}
				}
			}
			catch (Exception ex)
			{
				// ReSharper disable once UnusedVariable
				var msg = ex.Message;
			}

			return listPageStatus;
		}