SpaghettiDotNet

Un modo di idee in salsa .NET

SPMonitoredScope e Performance
 

Salve a tutti,

molti di voi probabilmente conosceranno la Developer Dashboard introdotta in SharePoint 2010, ma è possibile personalizzare tale Dashboard in modo da farle visualizzare dati relativi al codice che scriviamo? In questo caso infatti possiamo utilizzare la classe SPMonitoredScope così come nell’esempio sottostante:

 

using (SPMonitoredScope monitoredScope = new SPMonitoredScope("My Monitored Scope"))
{
    SPList testList = site.Lists.TryGetList("Test List");
    if (testList != null)
    {
        SPListItem listItem = testList.Items.Add();
        listItem["Title"] = string.Format("Test Item {0}", Guid.NewGuid().ToString());
        listItem["City"] = "Somewhere";
        listItem["Quantity"] = 3;
        listItem.Update();
    }
}

Grazie a questa classe tutto ciò che è contenuto nello using viene monitorato e tracciato e ne è poi possibile visualizzare il riepilogo nella dashboard.

 

SPPerformanceMonitorDashboard1_thumb_67033114

 

Qualora volessimo scendere ad un livello di dettaglio maggiore invece potremmo utilizzare diversi blocchi using innestati:

 

using (SPMonitoredScope monitoredScope = new SPMonitoredScope("My Monitored Scope"))
{
    SPList testList;
    using (SPMonitoredScope getListMonitor = new SPMonitoredScope("Get List"))
    {
        testList = site.Lists.TryGetList("Test List");
    }
    using (SPMonitoredScope addListItemMonitor = new SPMonitoredScope("Add List Item"))
    {
        if (testList != null)
        {
            SPListItem listItem = testList.Items.Add();
            listItem["Title"] = string.Format("Test Item {0}", Guid.NewGuid().ToString());
            listItem["City"] = "Somewhere";
            listItem["Quantity"] = 3;
            listItem.Update();
        }
    }
}

 

SPMonitoredScopeDeveloperDashboard2_thumb_7F269B6F

 

Saluti

Luigi

Share this post :
Published 26 apr 2011 16:56 da Luigi
Inserito sotto: ,