Журналы Orleans

Orleans использует Microsoft. Extensions. Logging для всех журналов приемников и клиентов. Дополнительные сведения см. в разделе Ведение журнала в .NET.

Мониторинг среды выполнения

Orleans выводит статистику времени выполнения и метрики через ITelemetryConsumer интерфейс. Приложение может зарегистрировать одного или нескольких потребителей телеметрии для своих приемников и клиентов, чтобы получить статистику и метрики, которые периодически публикуются средой выполнения Orleans. Это могут быть потребители для популярных решений аналитики телеметрии или пользовательские решения для любого другого назначения и назначения. В настоящее время в базу кода Orleans включены три потребителя телеметрии.

они выпускаются в виде отдельных пакетов NuGet:

  • Microsoft.Orleans.OrleansTelemetryConsumers.AIдля публикации в Microsoft.Orleans.OrleansTelemetryConsumers.AI.

  • Microsoft.Orleans.OrleansTelemetryConsumers.Countersдля публикации в Windows счетчики производительности. Среда выполнения Orleans постоянно обновляет несколько элементов. средство CounterControl.exe , которое входит в пакет NuGet, помогает регистрировать необходимые категории счетчиков производительности. Он должен работать с повышенными привилегиями. Мониторинг счетчиков производительности можно осуществлять с помощью любого из стандартных средств мониторинга.

  • Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic, для публикации в Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic.

Чтобы настроить для приемника и клиента использование потребителей телеметрии, код конфигурации приемника данных будет выглядеть следующим образом:

var siloHostBuilder = new HostBuilder()
    .UseOrleans(c =>
    {
        c.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
    });

Код конфигурации клиента выглядит следующим образом:

var clientBuilder = new ClientBuilder();
clientBuilder.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");

Чтобы использовать пользовательское определение TelemetryConfiguration (которое может иметь TelemetryProcessors , TelemetrySinks и т. д.), код конфигурации приемника команд выглядит следующим образом:

var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
var siloHostBuilder = new HostBuilder()
    .UseOrleans(c =>
    {
        c.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);
    });

Код конфигурации клиента выглядит следующим образом:

var clientBuilder = new ClientBuilder();
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
clientBuilder.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);