Monthly Archives: March 2013

Glimpse Extensions Gallery

Just yesterday I was feeling pretty happy with the current pace at which Glimpse has been releasing:

We’ve got full MVC4 support now, support for Entity Framework version 4.3 and above and more good things coming.

The community around Glimpse is also firing on all cylinders recently, with several source code and documentation contributions and the creation of many Glimpse extensions. There is a Glimpse extension for Couchbase by John Zablocki, and Sean Gilbert has been on an Inversion of Control tear releasing plugins for both Ninject and StructureMap.

All of this activity is really great for Glimpse and the Glimpse community, but it can make finding the right Glimpse components for your project a bit daunting. (Although the NuGet team has recently improved the search syntax to help this problem along, it still isn’t enough.)

So today, standing on the shoulders of the giants over at MyGet.org, we are releasing the Glimpse Extension Gallery and Extension Gallery Feed.

The Glimpse Extension Gallery is simply a listing of available Glimpse extension on our site. It’s still early days with the gallery, but it should get better and better in the coming months.

What I’m really excited about is the Extension Gallery Feed which allows users to get a special package source of just Glimpse extensions, which looks like this:

Whats more, we’ve made adding this package source to Visual Studio a breeze by leveraging the Package Source Discovery specification on getGlimpse.com. This specification allows you to easily add our feed to Visual Studio by issuing the following two commands from the Package Manager Console:

Install-Package DiscoverPackageSources
Discover-PackageSources -Url "http://getGlimpse.com"

Intrigued? Full documentation on the Extension Gallery is available on our site.

Maarten and Xavier made creating the extension feed very simple with a few of the advanced feature of MyGet.org – namely package source proxies and package source filters.

Please do try out the feed and as always send over your feedback!

Note to extension authors: Don’t see you extension listed in the gallery? Shoot us a note on the developers list and we’ll get that rectified right away.

Glimpse 1.2 Released With Support for Entity Framework & ADO

Well, its taken us awhile with everything going on, but we finally have support out for EF and those using “raw” ADO.

New Packages
As usual, to get up and running simply go to Nuget and download the relevant package:

OR if you are just using ADO directly:

If you just download the ADO package, but you are running Entity Framework you will have an exception raised. We have tried our best to make this not the case, but this is a limitation enforced on us by Entity Framework. So good rule of thumb, if you are using Entity Framework download the relevant EF package not just the ADO package.

Also, just because you have a Glimpse.MVC package installed doesn’t mean you automatically get these packages. You need to download the Glimpse.EF (or Glimpse.ADO) packages separately.

What we show
From within the plugin you can expect to see:

  • Connections and how long each connection is opened for
  • Commands associated with those Connections, number of records affected, how long the command took to execute and any errors that may have occured
  • Transactions and which commands are associated with those Transactions and end status

Additionally, the connection and command timing information is feed into the timeline, filling previously undefined gaps:

Technical Details
As you might now, most of the EF’s infrastructure ends up leveraging ADO’s DbProviderFactory infrastructure. As such, this is the where we tap in and from this, we get a fair amount for free (this what also happens to be how we get the build of our raw ADO support).

We also tap into the DbConnectionFactory and in Entity Framework 6 we tap IDbProviderFactoryService and DbProviderServices via the new IDbDependencyResolver infrastructure the EF team has provided. With this I believe we catch the majority of use cases.

For those using Entity Framework or using DbProviderFactory already you shouldn’t have to change any of your code.

Important note
If you happen to use EF in you App_Start, EF gets initialized before Glimpse has a chance to set up. In this case, you will need to include the following lines before your first query runs (an example of how this is used can be found here):

    Glimpse.Settings.Initialize.Ado();
    Glimpse.Settings.Initialize.EF();

We need your help
Obviously it has taken a significant effort to get to this point. But in order to produce this release in a timely fashion we had to drop 2 main features:

  • N+1 detection, and
  • Execution context (i.e. indicating to the user where the query was triggered from)

We would love some help getting these features in. The first shouldn’t be that hard to implement, the second, might involve a bit more work.

Additionally, Entity Framework 6 has a bunch more information that would be great to expose:

  • Conventions
  • Registered Providers
  • Model Mappings
  • Manifest Details
  • etc

If you are interested in helping out with any of the above, please let us know and we will be more than happy to help – either on the mailing list or via twitter (@anthony_vdh and/or @nikmd23).

Special thanks
Support for Entity Framework and ADO has been a long time coming. An initial prototype for these plugins was written around a year ago, but with everything going on, we never got it to a point where we felt comfortable producing a full release. But since going live with v1 and with some encouragement from K Scott Allen of OdeToCode fame, we have this release. Here is the list of people who helped make this release:

More details will be coming out soon and I will show some more interesting usage scenarios. In the meantime thanks for all your help and let us know what you think.

What else in 1.2
Trying to make sure that the rest of the release isn’t overshadowed by EF/ADO, here is the rest of what is in this release:

  • Core: Fixed issue in timeline which affected sub 1 ms events.
  • Core: Fixed trailing comma that causes problems with some browsers/browser modes.
  • Core: Minor refactoring of MessageCategory classes.
  • Core: Minor update to Nuget transform to show how to turn on logging.
  • Core: Minor update to config page to make sure you always get latest logo.
  • ASP.NET: Fixed issue where config tab would fail to show connection string for connection strings with no provider defined.
  • MVC4: Major fix which adjusts the .NET version that Glimpse.MVC4 is running as (previously was .NET 4.5)

For the above, big shout out to the following people for the great bug reports:

For a full list of changes, issues and commits see below:

  1. Issues in this milestone – https://github.com/glimpse/glimpse/issues?milestone=4&state=closed
  2. Individual commits made in this milestone – https://github.com/glimpse/glimpse/compare/1.1.0…1.2.0
  3. Enjoy!

Glimpse 1.1 Released With Support for MVC 4

Since we released Glimpse 1.0 several weeks ago, we’ve been inundated with questions about and requests for full ASP.NET MVC 4 support. We’ve heard your feedback and are happy to announce that as of today, in addition to our Glimpse.Mvc2 and Glimpse.Mvc3 packages, we are shipping a Glimpse.Mvc4 package with full support for Task<T> based async actions and Display Modes.

In addition to support for ASP.NET MVC 4, we’ve also made several small improvements to our ASP.NET and Core packages. You can see the list of everything we’ve done in our GitHub Issue Tracker.

As always, we can’t do this without our users and contributors. Special thanks to those who reported issues:

Note: Glimpse.Mvc4 does not yet support ApiControllers (or WebAPI at all). We simply ignore requests to your web API’s for now.

Glimpse Town Hall #1: Virtual Release Party

We finally did it! Glimpse 1.0 is out and things are working relatively smoothly. It took a little longer than anticipated, but we are generally pleased and happy with ourselves.

To celebrate, on Tuesday March 12th, at 3:30 PM (UTC-5:00), the Glimpse team is going to be throwing a (slightly late) virtual release party.

What does a virtual release party entail, you may ask? Well, I’ll probably at least buy myself a cupcake. You can do that too, but I find that eating cupcakes alone can be a little sad – so lets do it together.

I’ll tweet out a link to a Google Hangout a few minutes before 3:30 (is there really no way to schedule these things?!?) and we can celebrate together. Thanks to Cecil, I now know how to schedule a Google Hangout and here’s the direct link the the party. Of course, it won’t all be self congratulations and high-fives, we’ll demo new features of Glimpse, answer any questions you may have and discuss what’s on the road map for vNext.

We want this to be the first in a series of monthly town hall meetings which will provide an outlet for plugin authors to demonstrate what they have built, discuss challenges with the Glimpse platform and gather user feedback. We’ll experiment with times and technologies until we find the right fit to include the most number of users.

So please come and join us on Tuesday. No RSVP necessary.

Bug Fixes: Glimpse 1.0.1

In our effort to update Glimpse at a regular cadence, we have dropped Glimpse 1.0.1 tonight.

This update affects all of our main packages: Glimpse, Glimpse.AspNet, Glimpse.Mvc3 and Glimpse.Mvc2.

You can see the list of fixed bugs in our GitHub Issue Tracker as well as the full list of changes between 1.0.0 and 1.0.1.

Special thanks to those who reported issues: