In terms of performance profiling an ASP.NET MVC application is there a way to monitor or view all the methods that make up a request when rendering a page - essentially the callstack for the entire request. Say I have a page that takes 1000ms to load, how do I determine the time it takes for each method of the request to complete.
My current solution uses MiniProfiler where I manually log specific methods. Although this gives me the total time it takes for a request to complete, and details the time for the methods I have logged, there is still a large amount of time unaccounted for, i.e., methods I haven't captured. This seems like a reasonable approach, except I'm not sure which other methods to capture.
How do I find these "missing" methods?
I'd recommend just installing Glimpse. It gives you more information that you'd probably want or care to see, but it can be highly useful in a number of scenarios during development. It's free, open source, and available via Nuget for easy integration into your project.
Also, it's worth mentioning that profiling a web application is only truly accurate on a server just like what you'll be deploying to, with a real web server like IIS. Profiling your development site running in IIS Express can be useful for spotting huge bottlenecks, but not for actually gauging how well your site will or won't perform, in general, once deployed.