Partilhar via


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.AIpara a publicação de Aplicação Azure Informações.

  • Microsoft.Orleans.OrleansTelemetryConsumers.Counterspara 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 as Microsoft.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);