How to get Glimpse

Currently ASP.Net build only
Download Now

See in Action

Here is a demo of Glimpse, for those who couldn’t make it to Open Source Fest, or just want to see more!
Read
More

Getting Started

  1. Add NuGet package to your project - http://nuget.org/List/Packages/Glimpse
  2. Turn on Glimpse for your requests (see Bookmarklets in http://www.yoursite.com/Glimpse/Config or in dev http://127.0.0.1/Glimpse/Config)
  3. Click on the Glimpse in the bottom right hand corner of your site

Features

Route Debugging

Glimpse gives you unprecedented access to runtime routing information, helping you to understand why a given route was chosen, what the route data is set to and what the constraints of the route are.

Tracing in MVC

ASP.NET has always had the ability to leverage Trace.Write() calls to aid in your understanding of run time execution. Unfortunately, this capability is not available in ASP.NET MVC, until now. Trace.Write() or Debug.Write() to your heart’s content and see it all in Glimpse’s state of the art UI.

Ajax Support

AJAX has taken the world by storm. Unfortunately, that storm has traditionally left a dark cloud over our understanding of when, why and how our AJAX requests are being processed. Glimpse will provide you full support for AJAX debugging.

Fully Extensible

Glimpse contains a fully extensible plugin model on both the server and client side. Need to see application specific data? Implement a simple interface to tap into the power of Glimpse.

What is Glimpse

Overview

At its core Glimpse allows you to debug your Web Service right in the browser. Glimpse allows you to "Glimpse" into what's going on in your web server. In other words what Firebug is to debugging your client side code, Glimpse is to debugging your server within the client.

Fundamentally Glimpse is made up of 3 different parts, all of which are extensible and customizable for any platform:
  • Glimpse Server Module
  • Glimpse Client Side Viewer
  • Glimpse Protocol

How it Works

On the Server:
  1. Server collects all server side information that will aid in debugging (i.e. application settings, routes, session variables, trace data, etc)
  2. It does this by running through a pipeline of server side data providers that can be dynamically controlled and added to under plugin architecture
  3. Before the response is send, the server formats this data in accordance with the Glimpse Protocol and serializes it as JSON
  4. Depending on whether it is a Ajax request or not, the server embeds the JSON in the HTTP Header or in the content of the page
On the Client:
  1. Depending on whether it is a Ajax request or not, the picks up the JSON data and to the data set by executing a pipeline of client side data providers that can be dynamically controlled and added to under plugin architecture
  2. The client side module then dynamically renders a client side UI (similar to Firebug Lite) that lets you view this data
Glimpse can be turned on or off by a series of different mechanistic, but at its core if the Glimpse cookie is present the server will provide the "debug" data - as a security measure, the request for debug data is "authenticated". Via the plugin model, this authentication check can have any logic that is required by the site to ensure that unauthorized users don't have access to sensitive debug data.

Implementation Details

Server

Given the scope of the project and what it can do, the concept isn't restricted to any one platform. Hence, once mature, Glimpse Server Module will be available on all major web platforms.

Platforms currently supported:
  • ASP.Net Web Forms
  • ASP.Net MVC
Platforms soon to be supported:
  • PHP
  • Ruby on Rails
  • Node.js
NOTE - If you would like help develop a Glimpse Server Module for a given platform please let us know.

Client

To start with the Glimpse Client Side Viewer is simply a light weight JavaScript "plugin" that understands the Glimpse Protocol and knows how to render the data. From a technology standpoint we currently use jQuery as the client side framework.

Eventually, we would like to have actual browser plugins that provide richer functionality and experience, but the JavaScript version of the Glimpse Client Side Viewer is surprisingly well featured, intuitive and provides a high fidelity experience. We also hope to have a version for mobile ready soon which customizes the viewing/usage experience when using a mobile device.

People and Contact...

Developers

Glimpse is a development/debugging tool brought to you by:
  • Anthony van der Hoorn - @anthony_vdh > Co-founder
    Lover of ASP.Net MVC, CSS, jQuery and JavaScript (order depending on which one is playing nicely)
  • Nik Molnar - @nikmd23 > Co-founder
    Developer extraordinar, ASP.Net convert, web evangelist and general all-round code guru
Special thanks to:

Contacting us

Best way to get us at the moment is via #glimpse.

Alternatively come to our codeplex site to report any issues or make feature requests.