Dela via


Orleans-loggar

Orleans utnyttjar Microsoft.Extensions.Logging för alla silo- och klientloggar. Mer information finns i Loggning i .NET.

Körningsövervakning

Orleans matar ut sin körningsstatistik och mått via ITelemetryConsumer gränssnittet. Programmet kan registrera en eller flera telemetrikonsumenter för sina silor och klienter för att ta emot statistik och mått som Orleans-körningen regelbundet publicerar. Dessa kan vara konsumenter för populära telemetrianalyslösningar eller anpassade lösningar för andra mål och syften. Tre telemetrikonsumenter ingår för närvarande i Orleans-kodbasen.

De släpps som separata NuGet-paket:

  • Microsoft.Orleans.OrleansTelemetryConsumers.AIför publicering till Azure Application Insights.

  • Microsoft.Orleans.OrleansTelemetryConsumers.Countersför publicering till Windows prestandaräknare. Orleans-körningen uppdaterar kontinuerligt ett antal av dem. Verktyget CounterControl.exe , som ingår i Microsoft.Orleans.CounterControl NuGet-paketet, hjälper till att registrera nödvändiga prestandaräknarekategorier. Den måste köras med förhöjd behörighet. Prestandaräknarna kan övervakas med något av standardövervakningsverktygen.

  • Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic, för publicering till New Relic.

För att konfigurera silon och klienten så att de använder telemetrikonsumenter ser silokonfigurationskoden ut så här:

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

Klientkonfigurationskoden ser ut så här:

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

Om du vill använda en anpassad definierad TelemetryConfiguration (som kan ha TelemetryProcessors, TelemetrySinksoch så vidare) ser silokonfigurationskoden ut så här:

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

Klientkonfigurationskoden ser ut så här:

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