Le Azure Function pongono al centro il nostro codice scaricandoci dalla responsabilità di gestire l'hosting e la scalabilità del nostro codice. Tra le tante caratteristiche che abbiamo a disposizione vi è anche la possibilità di agganciare Application Insights (AI) e monitorare le nostre funzioni. Indipendentemente dal linguaggio che utilizziamo, è sufficiente abilitare il motore direttamente sul portale per ottenere il tracciamento delle funzioni, il logging personalizzato e tutte le dipendenze che utilizziamo.
Il comportamento predefinito, però, include alcune informazioni delle quali non sempre necessitiamo, come per esempio le dipendenze su SQL o HTTP, le quali vanno ad ampliare notevolmente la quantità di dati salvati e di conseguenza il costo di AI.
Fortunatamente è possibile personalizzare il motore degli Application Insights agendo tramite il file host.json. Il file è disponibile nei progetti creati automaticamente tramite SDK o è visibile direttamente nel portale entrando nella funzione e alla voce Function app settings.

Nella sezione logging è disponibile una voce applicationInsights con il quale è possibile impostare:
- isEnabled: abilita il sampling, cioè la collezione degli eventi più significati, invece che di tutti gli eventi indistamente. Default è attivo;
- maxTelemetryItemsPerSecond: numero massimo di elementi al secondo. Default è 20;
- EnableLiveMetrics: abilita la metrica live consultabile su AI. Default è attivo;
- EnableDependencyTracking: abilita il tracciamento delle dipendenze. Default è attivo;
- EnablePerformanceCountersCollection[i/]: abilita i contatori e le prestazioni Kudu. Default è attivo.
E' sufficiente apportare la modifica al file o pubblicarlo nuovamente per ottenere i cambiamenti desiderati.
Per maggiori dettagli sul sampling rimandiamo alla documentazione https://docs.microsoft.com/en-us/azure/azure-monitor/app/sampling
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Integrazione di Copilot in .NET Aspire
Abilitare il rolling update su Azure Functions flex consumption
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Rendere affidabile lo scale out su Azure App Service
Blazor e InputHidden in .NET 10
Utilizzare WebJobs su Linux con Azure App Service
Integrare OpenTelemetry direttamente in Azure Monitor
Gestire codice JavaScript con code splitting e lazy loading
Esporre workflow come server MCP con Azure Logic Apps
Introduzione a GitHub Copilot CLI
Abilitare automaticamente il force push di un gruppo su Azure DevOps
Validazione personalizzata nelle Minimal API di ASP.NET Core




