运行时监控
Orleans通过ITelemetryConsumer
接口输出运行时的统计信息和度量。应用程序可以为其silo和客户端,注册一个或多个遥测消费者(telemetry consumer),来接收Orleans运行时定期发布的统计数据和度量。这些可以是流行的遥测分析解决方案的消费者,也可以是任何其他目标和目的的自定义消费者。Orleans代码库目前包含三个遥测消费者。
它们作为单独的NuGet包发布:
-
Microsoft.Orleans.OrleansTelemetryConsumers.AI
,用于发布到Application Insights。 -
Microsoft.Orleans.OrleansTelemetryConsumers.Counters
,用于发布到Windows性能计数器。Orleans运行时不断更新其中的一些计数器。包含在Microsoft.Orleans.CounterControl
NuGet包中的CounterControl.exe工具,有助于注册必要的性能计数器类别。它必须以提升的特权运行。可以使用任何标准监视工具,监视性能计数器。 -
Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
,用于发布到New Relic。
要将您的silo和客户端配置为使用遥测消费者,silo配置代码如下所示:
var siloHostBuilder = new SiloHostBuilder();
//configure the silo with AITelemetryConsumer
siloHostBuilder.Configure<TelemetryOptions>(options => options.AddConsumer<AITelemetryConsumer>);
客户端配置代码如下所示:
var clientBuilder = new ClientBuilder();
//configure the clientBuilder with AITelemetryConsumer
clientBuilder.Configure<TelemetryOptions>(options => options.AddConsumer<AITelemetryConsumer>);