Wednesday, April 2, 2014

I saw Anthony van der Hoorn speak on Glimpse at the Dallas Day of Dot Net convention on Friday.

Glimpse is a server-side diagnostics tool which runs at the browser. You may witness metrics on the number of SQL queries which cross the wire and the amount of time each takes, etc. Logging tools such as log4net and NDepend (which also is a code analysis tool) may be assessed for performance as well. One may audit if Web.config changes were successful too. Oh, there is even a way to see what is encoded in ViewState! Glimpse is free and open source. It will run as a toolbar at the base of a browser and it expands to show off a bunch of other goodies nested in tabs. Most of the talk was a breakdown of the tabs and what they do.

  • Environment Tab – What is the operating system? What the name of the machine? What are the version numbers of assemblies? Which packages are loaded? These are great questions that this tab may help you answer.
  • Trace Tab – The logs of all existing logging infrastructure comes bubbling up here.
  • Executing Tab – This lists Controllers and Actions visited in a pass through. A line item for a Controller will have green text. The next line item with green text will be the next Controller, but between the two Controller line items will lie line items with grey text signifying the various Actions (or other methods) hit within the first Controller.
  • Routes Tab – This shows routes hit and how long they took to resolve. It should let you look for a performance bottleneck. Glimpse does not yet work with the Attribute Routing of ASP.NET MVC 5 but that is coming in the next version.
  • SQL Tab – n+1 problems are flagged in red here. There will be a breakdown of other queries run too.
  • Ajax Tab – Requests over AJAX and how they performed (or failed) are shown here.
  • Timeline – I'm not sure what tab it is at, but Anthony also showed off an impressive timeline that Glimpse had for showing one thing after another executing synchronously and how long each step took comparatively.

When you install Glimpse from Nuget there will be a blob of code introduced to your Web.config which will allow for turning Glimpse on or off. Part of what is there will include a commented out security section which can be uncommented and massaged into shape for conditionally running Glimpse in production but only if the right party is doing the looking. ETW (Event Tracing for Windows) apparently has a heavier performance hit than Glimpse which was portrayed to be a lighter extra along for your ride. Another rival tool is Tealeaf, but with it one may see user sessions and the paths traveled in navigating an application but nothing more.

No comments:

Post a Comment