One of the coolest open source projects to surface in the web sphere is Glimpse. The brainchild of Anthony van der Hoorn and Nik Molnar, Glimpse made its debut to a wide audience at MIX2011 and has blossomed into a vibrant project with plenty of community support. Although Glimpse has been evolving for a while now, version 1.0 was released last month.
Glimpse is described as "Firebug for the server," and that's an apt analogy. In case you're not a web developer or have been living under a rock for the last decade, Firebug is a great set of client-side, in-browser development tools originally released for Firefox. The tools are so useful that they are now found in the developer tools that are built into all major browsers. Firebug provides insight into the interactions between client browser and the server, whereas Glimpse focuses on the server side of things with plenty of details about what's happening on the server.
When you install Glimpse in a web project, activate it for the project, navigate to the site, and open the Glimpse control panel, where you'll see something similar to Figure 1. The figure shows the Execution panel, which indicates the bottlenecks in the page that takes a breathtaking nine seconds to gather all the weather data and return to the view. For this ASP.NET MVC 4 project, I've installed the version of Glimpse that understands ASP.NET MVC projects so it's able to hook into action methods executing on the server.
In general, Glimpse provides a wealth of "detailed diagnostic information about the behavior and execution of your web application," quoting from the project website. Some of the information Glimpse provides is general web traffic information, such as request and server data, as well as application-specific information, such as ASP.NET MVC action method invocations and routing data. There's even an Ajax pane that provides data about those interactions with the server. All in all, the bundle of diagnostic information is nothing short of amazing and is a testament to the founders and community members who have jumped in to support the project.
Glimpse is highly extensible with a rich supply of extensions that are starting to appear. These extensions are discoverable in three different ways: by searching "Glimpse" on NuGet.org, visiting the Glimpse project website, and coolest of all, a Glimpse NuGet extensions feed. I've installed the extensions feed, see Figure 2, which shows the Manage NuGet Packages dialog box.
In recent weeks, the pace of development has been nothing short of breathtaking. A part of that is attributed to the fact that the founders were hired by Red Gate Software, the same people who now own and manage Reflector. Although Glimpse remains an open source project, the founders can devote most of their time to Glimpse as full time employees. And now the project's rapid progress is now bearing the fruits of that support.
As an aside, you might remember Red Gate's missteps when they acquired Reflector from Microsoft's Lutz Roeder. Red Gate is one of my favorite software companies despite the Reflector debacle because of the company's products and the incredibly enthusiastic people who work there. And Red Gate seems determined not to repeat the same mistake. Keeping Glimpse as an independent open source project is evidence of that determination.
There are now Glimpse versions for web forms applications, including ASP.NET MVC 2 and later versions, Entity Framework 4.3 and later versions, and plain ADO.NET. More versions are coming for technologies outside of the Microsoft stack.
One downside to Glimpse, probably due to its open source nature, is that the documentation is a bit on the light side. But there is enough documentation to help you get Glimpse installed in a project and started with the basics. This process is greatly simplified because the documentation is available as a set of NuGet packages. Hopefully community members will step in and flesh out the documentation. Despite this, there is a healthy development community and support forums, so this isn't too much of a hurdle. And you'll probably find that the Glimpse interface is intuitive with features that are fairly easy to discover.
If you're deep into ASP.NET web development, then go take a look at Glimpse and see what it can do for you. It's rapidly becoming a must-have tool for Microsoft developers and will most likely support additional server technologies in the future. Highly recommended.