Le Azure Function permettono di implementare le cosiddette architetture serverless, nella quale le operazioni sono rappresentate da funzioni invocabili con chiamate REST o trigger basati su coda o eventi, senza dare uno specifico dimensionamento alle macchine che le eseguono.
In quest'ottica che spinge all'estremo lo sviluppo sul cloud è importante capire come si comportano le nostre funzioni, come sono i tempi di risposta e diagnosticare eventuali problemi. Per questo scopo è disponibile Application Insight, nato proprio per soddisfare queste esigenze. Di recente è stata introdotta la possibilità di usare insieme i servizi, il tutto con una facilità estrema.
Per usufruirne, è sufficiente spuntare il servizio durante la creazione del gruppo di funzioni o specificare la chiave APPINSIGHTS_INSTRUMENTATIONKEY per quelle già esistenti.

Così facendo troviamo nell'overview il link diretto agli insight che fin da subito cominceranno a collezionare dati: le funzioni invocate, i tempi di risposta, gli errori e le statistiche.

Gli errori, come nelle applicazioni ASP.NET, dispongono del dettaglio dell'eccezione e delle proprietà di riferimento dell'operazione.

Anche i messaggi personalizzati tramite l'interfaccia ILogger, che troviamo presente negli snippet predefiniti, finiscono nelle informazioni dell'operazioni, al fine di facilitare un'eventuale diagnostica. Possiamo infine creare un TelemetryClient e tracciare eventi e metriche personalizzate per arricchire le informazioni memorizzate.
Per approfondimenti rimandiamo al seguente link
https://github.com/Azure/Azure-Functions/wiki/App-Insights-(Preview)
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Simulare Azure Cosmos DB in locale con Docker
Estrarre dati randomici da una lista di oggetti in C#
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Proteggere le risorse Azure con private link e private endpoints
Creare una libreria CSS universale: Nav menu
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Referenziare un @layer più alto in CSS
Potenziare la ricerca su Cosmos DB con Full Text Search
Creare un webhook in Azure DevOps
Supportare la sessione affinity di Azure App Service con Application Gateway