Log di Orleans
Orleans usa Microsoft.Extensions.Logging per tutti i log silo e client. Per altre informazioni, vedere Registrazione in .NET.
Monitoraggio di runtime
Orleans restituisce le statistiche e le metriche di runtime tramite l'interfaccia ITelemetryConsumer . L'applicazione può registrare uno o più consumer di telemetria per i silo e i client per ricevere statistiche e metriche pubblicate periodicamente dal runtime di Orleans. Possono essere consumer di soluzioni di analisi di telemetria comuni o personalizzate per qualsiasi altra destinazione e scopo. Tre consumer di telemetria sono attualmente inclusi nella codebase di Orleans.
Vengono rilasciati come pacchetti NuGet separati:
Microsoft.Orleans.OrleansTelemetryConsumers.AI
per la pubblicazioneMicrosoft.Orleans.OrleansTelemetryConsumers.AI
.Microsoft.Orleans.OrleansTelemetryConsumers.Counters
per la pubblicazione Windows contatori delle prestazioni. Il runtime di Orleans aggiorna continuamente alcuni di essi. Lo CounterControl.exe, incluso nel pacchetto NuGet, consente di registrare le categorie di contatori delle prestazioni necessarie. Deve essere eseguito con privilegi elevati. I contatori delle prestazioni possono essere monitorati usando uno degli strumenti di monitoraggio standard.Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
per la pubblicazione inMicrosoft.Orleans.OrleansTelemetryConsumers.NewRelic
.
Per configurare il silo e il client per l'uso dei consumer di telemetria, il codice di configurazione del silo è simile al seguente:
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
});
Il codice di configurazione client è simile al seguente:
var clientBuilder = new ClientBuilder();
clientBuilder.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
Per usare un oggetto personalizzato definito TelemetryConfiguration (che può avere TelemetryProcessors, TelemetrySinkse così via), il codice di configurazione del silo è simile al seguente:
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);
});
Il codice di configurazione client è simile al seguente:
var clientBuilder = new ClientBuilder();
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
clientBuilder.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);