SharePoint 2013 Developer dashboard

Posted on 7/18/2012 @ 5:36 PM in #SharePoint by | Feedback | 26741 views

Okay I delayed my next code-magazine article as much as I could – but the public Beta of SharePoint just wouldn’t come out when I had expected it to :). Since I didn’t want to break any NDAs with Microsoft, I had to submit my article about SharePoint 2010 Developer Dashboard.
Everything I say in that article (yet to be published) is applicable to SharePoint 2013 as well.

However, SharePoint 2013 developer dashboard is significantly revamped. In this article, I will cover some of the enhancements to SP2013 developer dashboard, cool? Okay here we go.

  • First of all, the icon to launch it, is all metro-ified.

  • Well you were sort of expecting that, weren’t you! :) .. but there are some other exciting changes as well. When you launch the developer dashboard, it no longer sits on your masterpage. It launches in a separate window. This also means that “OnDemand” setting – is now deprecated – it doesn’t mean anything because it is OnDemand always. So when you pass in OnDemand – the API assumes you mean “On”. The only setting now is On or Off. This is great because it doesn’t interfere with your actual page.

    This is how the new fancy dev. dashboard looks like now,

  • And clearly you see a number of new enhancements, You see cumulative requests – not just the last request. This is incredibly useful when it comes to diagnosing the delta page loads that SharePoint 2013 is so famous for (I’m talking about MDM – I tweeted about this earlier). It also gives you an awesome summary of the page – like what server did the page run on – very useful with request routing in SharePoint 2013.
  • The “Scopes” Tab shows you progress bar like views letting you easily identify the biggest performance pigs in your chain. In my code-mag article (I will link to it when it is live), I talk more about these scopes in depth.

  • The SQL tab is also broken out nicely. What is super duper cool this time around, the individual stored procedures – well Microsoft offers you to look at the execution plan. Well damn, this is what I have been doing for a very long time because the documentation falls so short of giving you true guidance on how well does any SharePoint query perform. This execution plan, is a small step for Microsoft, but a giant leap for SharePoint architects.

  • It shows you involved SPRequests in a separate tab – allowing you to easily diagnose leaked SP Requests. It also separates out assertions, service calls, and cache calls.
  • And finally, perhaps the sexiest improvement is, it gives you a separate tab letting you correlate all ULS entries. YAY! Why is this a big deal? Because frequently an error on a page, isn’t occurring on a page – it is occurring in a service or process perhaps on another WFE. This is especially going to be more important given the new request routing capabilities in SharePoint 2013. ONLY ULS lets you piece together the whole picture nicely. So, being able to see the ULS log correlated with the actual page, is massively useful. Also, now you don’t need to sit on the server to read the ULS Log, you can get that through the browser (but remember you still need to run stuff on the server to enable developer dashboard, so this does not constitute a security booboo).
  • Additionally, behind the scenes now the developer dashboard is implemented as a dedicated WCF service called “diagnosticsdata.svc”.

Fun fun :) ..

Sound off but keep it civil:

Older comments..

On 7/18/2012 5:52:04 PM Jeremy Thake said ..
Great post man!

One thing, this is only for Full-Control SharePoint environments, not multi-tenant (e.g. Office 365) as there is no way to turn this sucker on still in admin consoles.

On 7/18/2012 5:53:50 PM Sahil Malik said ..
Good point Jeremy - you still activate it using powershell or OM (or stsadm), which means you need access to the server. Though with PS Remoting, I can envision how this could be extended this to multi-tenant at a later date.


On 7/19/2012 12:52:05 PM Jomit said ..
Nice Post !! I really like the ULS Log tab..

On 8/24/2012 12:36:56 AM Mickey Young said ..
As always, great post! I have a few questions though.

1. When I click on the "plan" link to save the file, it shows nothing in SSMS. Is it a permission issue? Does it happen to you too?

2. I used to wear DBA hat and know the value of execution plan examination when I need to tune the poorly performing stored procs. However, SharePoint is a COTS product and we're not suggested/allowed to change its stored procs. What's the point by checking out their execution plans? Index/table fragmentation might change their original EP, so I think doing regular DB maintenance is crucial to avoid surprised performance degration.

3. ULS tab shows lots of log info but I didn't see filtering capability. It's hard to scan through hundreds of messages. Without filtering, this is close to useless. Hope MS will add it in RTM version.