Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

IntelliTrace e Storage Account

Investigare il comportamento di una applicazione pubblicata in assenza di debug step-by-step
Investigare il comportamento di una applicazione pubblicata in assenza di debug step-by-step
Link copiato negli appunti

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
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
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
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
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
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
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
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
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.

Accesso allo Storage Account

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.

Figura 66. Richiesta allo storage

(clic per ingrandire)

Richiesta allo storage

Lo stesso risultato si può ottenere interrogando i data service che espongono le table:

Figura 67. Richiesta ai data service

(clic per ingrandire)

Richiesta ai data service

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

Ti consigliamo anche