Fino a ieri, IntelliTrace in ambiente di produzione non era supportato, e la sua utilità in questo modo era limitata agli ambienti di sviluppo e test.
Ma ora con Visual Studio 11, possiamo utilizzare IntelliTrace anche in produzione, essendo finalmente supportato! Inoltre, se aprite un ticket con il Microsoft CSS (il supporto tecnico), sarà la prima cosa che vi chiederanno
Prima di configurare il log collector di IntelliTrace, si devono configurare i permessi per l’account col quale gira l’application pool di IIS per permettergli di scrivere nella cartella in cui metteremo i log.
icacls sitepath “IIS APPPOOL\<AppPool Account>”:(F)
Quindi, all’opera! Supponiamo di avere una web application che solleva un’eccezione.
Prima di tutto si deve distribuire IntelliTrace nell’ambiente desiderato. Facile, basta estrarre il contenuto del file IntelliTraceCollection.cab che si trova dentro C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\CommonExtensions\Microsoft\IntelliTrace\11.0.0.
Io consiglio di estrarlo utilizzando expand.exe
expand.exe /f:* IntelliTraceCollection.cab path
Infine, apriamo PowerShell:
Carichiamo il modulo IntelliTrace per PowerShelle:
Import-Module sitepath\Microsoft.VisualStudio.IntelliTrace.PowerShell.dll
Dopodichè possiamo ottenere la lista di comandi eseguibili:
Get-Command *IntelliTrace*
E possiamo ottenere I log dall’applicazione interessata:
Start-IntelliTraceCollection ApplicationPool CollectionPath OutputPath
CollectionPath è il percorso che abbiamo scelto per IntelliTrace. All’interno ci sono due profile: collection_plan.ASP.NET.default.xml che colleziona solo gli eventi, e collection_plan.ASP.NET.trace.xml, che traccia anche le chiamate interne.
OutputPath è dove salviamo i log.
Dopo aver confermato, facciamo partire l’applicazione.
Quando otteniamo l’errore, facciamo uno snapshot dei log:
Checkpoint-IntelliTraceCollection ApplicationPool
Infine fermiamo il processo di raccolta dei log.
Stop-IntelliTraceCollection ApplicationPool
Finito per analizzarli basta aprire il file come si è sempre fatto con un qualunque file .iTrace.