Una feature molto interessante per investigare il comportamento di una applicazione (ricordo che non si può debuggare nella cloud) è legata alle funzionalità di Intellitrace di Visual Studio 2010. Il suo utilizzo è molto semplice: durante una pubblicazione da Visual Studio, è possibile abilitare il checkbox Enable Intellitrace for .NET 4 roles per indicare nel file di definizione del modello cloud la "necessità" di registrare una sessione Intellitrace.
Figura 58. Abilitare l'IntelliTrace
Dal menu Publish di Visual Studio, come si nota dall'immagine, possiamo selezionare il check box per poi premere Settings. Le impostazioni che faremo sui Settings saranno poi recuperate nelle pubblicazioni successive e sarà sufficiente abilitare e disabilitare il check box.
Le impostazioni di configurazione prevedono le opzioni classiche di Intellitrace. Ad esempio nella prima maschera è possibile decidere quali informazioni collezionare:
Figura 59. Impostazioni dell'IntelliTrace
Nel tab Modules indichiamo gli assembly da tenere sotto controllo durante l'operazione di test e nel tab Processes quali processi monitorare. Il tab Intellitrace Events serve a identificare gli eventi da tracciare:
Figura 60. Selezionare gli eventi per l'IntelliTrace
Durante la pubblicazione è possibile monitorare le varie fasi con il Windows Azure Activity Log:
Figura 61. Windows Azure Activity Log
Anche il Server Explorer monitora il tutto in tempo "quasi reale". Nell'immagine seguente si nota Initializing accanto a Instance 0.
Figura 62. Server Explorer
Possiamo verificare l'andamento del deploy anche dal portale di Windows Azure (devleaprob è la subscription che uso per le prove e le conferenze).
Una volta eseguita qualche riga di codice nell'applicazione live, dal Server Explorer è possbile richiedere i dati per ogni istanza:
Figura 63. Visualizzare i dati per ogni istanza
Il Windows Azure Activity Log ci mostra i dati dell'intellitrace e la finestra principale mostra i vari thread e le operazioni eseguite:
Figura 64. Visualizzare i thread eseguiti
Possiamo ottenere il file .itrace grazie a Open cointaning folder: il comando apre, appunto, la directory dove sono stati appoggiati i file di trace.
È anche possibile effettuare richieste verso le pagine o i servizi e riscaricare l'Intellitrace in qualunque momento: è bene tenere presente che i log passano sempre dallo storage prima di essere scaricati: in pratica si chiede alla Virtual Machine di esportare il log dell'intellitrace verso lo storage indicato durante il deploy e poi Visual Studio scarica il tutto via HTTP direttamente dallo storage. È bene rimarcare che i dischi locali delle istanze su Windows Azure non sono accessibili dall'esterno: questo il motivo per il quale tutte le informazioni di diagnostica sono esportate sullo storage per renderle accessibili dall'esterno.
IntelliTrace offre la possbilità di monitorare le istanze in deployment direttamente dal Server Explorer. Ad esempio, nell'immagine seguente il server explorer del PC.
Figura 65. Le istanze sul Server Explorer locale
Nell'immagine si nota il sito di ThinkAhead in produzione, con lo stato della sua Istanza "0". A fianco altri progetti che stiamo seguendo.
Dal Server Explorer è anche possibile analizzare i dati presenti nello Storage Account utilizzando l'account name e la relativa chiave di accesso.
L'immagine seguente mostra una richiesta della lista dei blob dello storage account simulato in locale e presenti all'interno del container gallery. È anche possibile, in alto sopra la griglia, indicare i criteri per effettuare la query come ordinamenti, filtri e/o paginazione.
Lo stesso risultato si può ottenere interrogando i data service che espongono le table:
Per approfondire le modalità di gestione dello storage account e altre buone pratiche sullo sviluppo con Windows Azure è leggete pure la Guida Windows Azure Code Snippets
LINQ e la trappola della 'deferred execution'Una "trappola" in cui si può incappare utilizzando il risultato di... |
C#, le Custom Type ConversionConversioni personalizzate tra classi, creare metodi particolari per... |
Introduzione a Entity FrameworkIl framework ORM messo a disposizione da .NET |
Repeater: visualizzare un feed RSSUtilizzare il controllo XMLDataSource e sfruttare il metodo XPath()... |
Repeater, il server control "semplice"Cos'è e come funziona il controllo Repeater |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Guida Visual Studio 2010L'ambiente di sviluppo di riferimento per sviluppare applicazioni su... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Corso Progettazione database11 Maggio 2012 a Milano |
|
|
Amministratore di Reti Windows Server 200811 Giugno 2012 a Milano |
|
Nessun corso previsto |