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.AI
för publicering till Azure Application Insights.Microsoft.Orleans.OrleansTelemetryConsumers.Counters
för publicering till Windows prestandaräknare. Orleans-körningen uppdaterar kontinuerligt ett antal av dem. Verktyget CounterControl.exe , som ingår iMicrosoft.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);