Troncos de Orleães
Orleans aproveita o Microsoft.Extensions.Logging para todos os registos de silo e cliente. Para mais informações, consulte Iniciar sessão em .NET.
Monitorização do tempo de execução
Orleães produz as suas estatísticas de tempo de execução e métricas através da ITelemetryConsumer interface. A aplicação pode registar um ou mais consumidores de telemetria para os seus silos e clientes, para receber estatísticas e métricas que o tempo de execução de Orleans publica periodicamente. Estes podem ser consumidores para soluções populares de análise de telemetria ou personalizadas para qualquer outro destino e finalidade. Três consumidores de telemetria estão atualmente incluídos na base de código de Orleães.
São lançados como pacotes NuGet separados:
Microsoft.Orleans.OrleansTelemetryConsumers.AI
para a publicação de Aplicação Azure Informações.Microsoft.Orleans.OrleansTelemetryConsumers.Counters
para a publicação de Windows contadores de desempenho. O tempo de execução de Orleans atualiza continuamente uma série deles. A ferramenta CounterControl.exe , incluída no pacote NuGet, ajuda a registar asMicrosoft.Orleans.CounterControl
categorias de contadores de desempenho necessárias. Tem que correr com privilégios elevados. Os contadores de desempenho podem ser monitorizados utilizando qualquer uma das ferramentas de monitorização padrão.Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
, para a publicação da New Relic.
Para configurar o seu silo e cliente para usar consumidores de telemetria, o código de configuração do silo é assim:
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
});
O código de configuração do cliente é assim:
var clientBuilder = new ClientBuilder();
clientBuilder.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
Para utilizar um código de configuração personalizado definido TelemetryConfiguration (que pode ter TelemetryProcessors, TelemetrySinkse assim por diante), o código de configuração do silo é assim:
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);
});
O código de configuração do cliente é assim:
var clientBuilder = new ClientBuilder();
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
clientBuilder.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);