Exemplo n.º 1
0
        public virtual ActionResult Index()
        {
            // Get most popular albums
            var albums = GetTopSellingAlbums(5);

            Trace.Write("Got top 5 albums");

            GlimpseTrace.Info("This is info from Glimpse");
            GlimpseTrace.Warn("This is warn from Glimpse at {0}", DateTime.Now);
            GlimpseTrace.Error("This is error from {0}", GetType());
            GlimpseTrace.Fail("This is Fail from Glimpse");

            GlimpseTimer.Moment("Custom timming event from HomeController", "Custom");

            Trace.TraceWarning("Test TraceWarning;");
            Trace.TraceError("Test TraceError;");
            Trace.TraceInformation("Test TraceInformation;");



            //GlimpseTimer.Moment("A Moment", "Other", "This is just a moment in time.");


            TempData["Test"] = "A bit of temp";

            return(View(albums));
        }
        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;
        }
Exemplo n.º 3
0
        private static void StopTrackingStore(object sender, EventArgs e)
        {
            object _;

            GlimpseTimer.Moment("Document Store Disposed", GlimpseTimerCategory);
            stores.TryRemove(sender as DocumentStore, out _);
        }
Exemplo n.º 4
0
 /// <summary>
 /// Attach a DocumentStore instance to the profiler
 /// </summary>
 /// <param name="store">The instance to profile</param>
 public static void AttachTo(DocumentStore store)
 {
     GlimpseTimer.Moment("Document Store Created", GlimpseTimerCategory);
     store.SessionCreatedInternal += TrackSession;
     store.AfterDispose           += StopTrackingStore;
     store.JsonRequestFactory.ConfigureRequest += BeginRequest;
     store.JsonRequestFactory.LogRequest       += EndRequest;
     stores.TryAdd(store, null);
 }
Exemplo n.º 5
0
        private static void BeginRequest(HttpContextBase context)//1
        {
            if (!RequestValidator.IsValid(context, LifecycleEvent.BeginRequest))
            {
                return;
            }

            context.InitGlimpseContext();

            GlimpseTimer.Moment("Begin Request");

            Logger.Info("BeginRequest handling complete for requestId " + context.GetGlimpseRequestId() + " (" + context.Request.Path + ")");
        }
Exemplo n.º 6
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);
        }
Exemplo n.º 7
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);
        }
Exemplo n.º 8
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;
        }
Exemplo n.º 9
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;
        }
Exemplo n.º 10
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 + ")-->");
        }
Exemplo n.º 11
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;
        }
Exemplo n.º 12
0
        private static void EndRequest(HttpContextBase context)//19
        {
            if (!RequestValidator.IsValid(context, LifecycleEvent.EndRequest))
            {
                return;
            }

            GlimpseTimer.Moment("End Request");

            ProcessData(context, false); //Run all plugins that DO NOT need access to Session

            var requestId = context.GetGlimpseRequestId().ToString();

            CheckForPRG(context);

            var jsonPayload = GenerateGlimpseOutput(context);

            Logger.Info("Glimpse output generated for requestId " + requestId + " (" + context.Request.Path + ")");

            MetadataStore.Persist(context.GetRequestMetadata(jsonPayload));
            Logger.Info("RequestId " + requestId + " (" + context.Request.Path + ")" + " persisted");

            Logger.Info("EndRequest handling complete for requestId " + context.GetGlimpseRequestId() + " (" + context.Request.Path + ")");
        }
Exemplo n.º 13
0
 private static void EndRequest(object sender, RequestResultArgs e)
 {
     GlimpseTimer.Stop("Query - " + e.Url);
 }
Exemplo n.º 14
0
 private static void BeginRequest(object sender, WebRequestEventArgs e)
 {
     GlimpseTimer.Start("Query - " + e.Request.RequestUri.PathAndQuery, GlimpseTimerCategory);
     //GlimpseTimer.Moment();
 }
Exemplo n.º 15
0
 private static void TrackSession(InMemoryDocumentSessionOperations session)
 {
     GlimpseTimer.Moment("Session Created", GlimpseTimerCategory);
     ContextualSessionList.Add(session.Id);
 }