public void Intercept(IInvocation invocation)
        {
            //protected override ActionResult InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary<string, object> parameters)

            var controllerContext = (ControllerContext)invocation.Arguments[0];
            var actionDescriptor  = (ActionDescriptor)invocation.Arguments[1];

            var allFilters    = controllerContext.FiltersStore();
            var calledFilters = controllerContext.CallStore();

            var action = GlimpseFilterCallMetadata.ControllerAction(actionDescriptor, controllerContext.IsChildAction);

            allFilters.Add(action);

            var calledMetadata = new GlimpseFilterCalledMetadata {
                Guid = action.Guid
            };

            calledFilters.Add(calledMetadata);

            var watch = new Stopwatch();

            watch.Start();

            using (GlimpseTimer.Start("Action: " + actionDescriptor.ActionName, "Controller", controllerContext.Controller.GetType().Name))
            {
                invocation.Proceed();
            }

            watch.Stop();

            calledMetadata.ExecutionTime = watch.Elapsed;
        }
Ejemplo n.º 2
0
        public ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName,
                                         bool useCache)
        {
            ViewEngineResult viewEngineResult;

            using (GlimpseTimer.Start("Find View: " + viewName, "View", string.Format("{0}{1}", ViewEngine.GetType().Name, useCache ? " cache":"")))
            {
                viewEngineResult = ViewEngine.FindView(controllerContext, viewName, masterName, useCache);
            }

            viewEngineResult = Process(viewEngineResult, false, viewName, masterName, useCache);

            return(viewEngineResult);
        }
Ejemplo n.º 3
0
        public ViewEngineResult FindPartialView(ControllerContext controllerContext, string partialViewName,
                                                bool useCache)
        {
            ViewEngineResult viewEngineResult;

            using (GlimpseTimer.Start("Find Partial View: " + partialViewName, "View", string.Format("{0}{1}", ViewEngine.GetType().Name, useCache ? " cache" : "")))
            {
                viewEngineResult = ViewEngine.FindPartialView(controllerContext, partialViewName, useCache);
            }

            viewEngineResult = Process(viewEngineResult, true, partialViewName, "", useCache);

            return(viewEngineResult);
        }
Ejemplo n.º 4
0
        public void OnResultExecuting(ResultExecutingContext filterContext)
        {
            var metadata = LogCall(OnResultExecutingGuid);
            var watch    = new Stopwatch();

            watch.Start();

            using (GlimpseTimer.Start("Executing: Result Filter", "Filter", ResultFilter.GetType().Name))
            {
                ResultFilter.OnResultExecuting(filterContext);
            }

            watch.Stop();
            metadata.ExecutionTime = watch.Elapsed;
        }
Ejemplo n.º 5
0
        public void OnException(ExceptionContext filterContext)
        {
            var metadata = LogCall(Guid);
            var watch    = new Stopwatch();

            watch.Start();

            using (GlimpseTimer.Start("Executing: Exception Filter", "Filter", ExceptionFilter.GetType().Name))
            {
                ExceptionFilter.OnException(filterContext);
            }

            watch.Stop();
            metadata.ExecutionTime = watch.Elapsed;
        }
Ejemplo n.º 6
0
        public void Render(ViewContext viewContext, TextWriter writer)
        {
            ViewContext = viewContext;

            var id = Guid.NewGuid().ToString();


            //writer.Write("<!--VIEW("+ViewName+")-->");

            using (GlimpseTimer.Start(string.Format("Render View: {0}", ViewName), "View"))
            {
                View.Render(viewContext, writer);
            }

            //writer.Write("<!--/VIEW(" + ViewName + ")-->");
        }
Ejemplo n.º 7
0
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var metadata = LogCall(OnActionExecutedGuid);

            var watch = new Stopwatch();

            watch.Start();


            using (GlimpseTimer.Start("Executed: Action Filter", "Filter", ActionFilter.GetType().Name))
            {
                ActionFilter.OnActionExecuted(filterContext);
            }

            watch.Stop();

            metadata.ExecutionTime = watch.Elapsed;
        }
Ejemplo n.º 8
0
 private static void BeginRequest(object sender, WebRequestEventArgs e)
 {
     GlimpseTimer.Start("Query - " + e.Request.RequestUri.PathAndQuery, GlimpseTimerCategory);
     //GlimpseTimer.Moment();
 }