Intellitrace collector

Diagnosticare bug che avvengono solamente in produzione è un’operazione solitamente difficile. Fortunatamente, per le applicazioni web e che in generale per le applicazioni .NET, è possibile utilizzare un componente che si chiama Intellitrace Collector.

Questo componente è una estensione di powershell che permette di abilitare temporaneamente il collector di Intellitrace per un worker process di IIS. Una volta scaricato e scompattato il contenuto in un server di produzione, è sufficiente provvedere

1) creare una cartella dove verranno memorizzati i log su cui gli utenti del processo web abbiano accesso in lettura/scrittura
2) aprire una console powershell, posizionarsi nella cartella dove si è scaricato l’intellitrace collector e caricare il modulo corrispondente. (Import-Module .\Microsoft.VisualStudio.IntelliTrace.PowerShell.dll)

A questo punto si può iniziare una raccolta degli eventi con il comando.

Start-IntelliTraceCollection TailSpinToys .\collection_plan.ASP.NET.default.xml C:\IntLog

Una volta confermata la volontà di iniziare una collection, l’application pool viene riavviato con il collector abilitato. In questo momento l’applicativo è sicuramente meno performante, ma quello che si fa solitamente è replicare il bug e terminare immediatamente la collection degli eventi con il comando.

Stop-IntellitraceCollection TailSpinToys

Al termine avrete un file di Intellitrace ™ che potrete scaricare sulla vostra macchina ed analizzare. (naturalmente è necessario una versione di Visual Studio Ultimate).

image

E’ naturalmente possibile usare una tecnica analoga per le applicazioni desktop .NET, come spiegato in MSDN.

Naturalmente tutto diventa più semplice se avete impostato anche un Symbol Server Smile.

Gian Maria.

Comments are closed.