可观测性是分布式系统最重要的方面之一。 它是在任何给定时间了解系统状态的能力。 可以通过各种方式实现此目的,包括日志记录、指标和分布式跟踪。
伐木业
Orleans 对所有服务粒度和客户端日志使用 Microsoft.Extensions.Logging 。 可以使用与Microsoft.Extensions.Logging
兼容的任何日志记录提供程序。 应用代码依赖于 依赖项注入 来获取一个实例 ILogger<TCategoryName> ,并使用它来记录消息。 有关详细信息,请参阅 .NET 中的日志记录。
指标
指标是一段时间内报告的数字度量值。 你最常使用它们来监视应用程序的运行状况并生成警报。 有关详细信息,请参阅 .NET 中的指标。 Orleans 使用 System.Diagnostics.Metrics API 收集指标。 这些指标将公开给 OpenTelemetry 项目,该项目将其导出到各种监视系统。
若要在不进行任何代码更改的情况下监视应用,请使用 dotnet counters
.NET 诊断工具。 要监视特定<ProcessName>
的OrleansActivitySource计数器,请使用如下所示的dotnet counters monitor
命令:
dotnet counters monitor -n <ProcessName> --counters Microsoft.Orleans
假设你正在运行 Orleans GPS 跟踪器示例应用 ,并使用命令在单独的终端 dotnet counters monitor
中对其进行监视。 以下输出是典型的:
Press p to pause, r to resume, q to quit.
Status: Running
[Microsoft.Orleans]
orleans-app-requests-latency-bucket (Count / 1 sec) 0
duration=10000ms 0
duration=1000ms 0
duration=100ms 0
duration=10ms 0
duration=15000ms 0
duration=1500ms 0
duration=1ms 2,530
duration=2000ms 0
duration=200ms 0
duration=2ms 0
duration=400ms 0
duration=4ms 0
duration=5000ms 0
duration=50ms 0
duration=6ms 0
duration=800ms 0
duration=8ms 0
duration=9223372036854775807ms 0
orleans-app-requests-latency-count (Count / 1 sec) 2,530
orleans-app-requests-latency-sum (Count / 1 sec) 0
orleans-catalog-activation-working-set 36
orleans-catalog-activations 38
orleans-consistent-ring-range-percentage-average 100
orleans-consistent-ring-range-percentage-local 100
orleans-consistent-ring-size 1
orleans-directory-cache-size 27
orleans-directory-partition-size 26
orleans-directory-ring-local-portion-average-percentage 100
orleans-directory-ring-local-portion-distance 0
orleans-directory-ring-local-portion-percentage 0
orleans-directory-ring-size 1,295
orleans-gateway-received (Count / 1 sec) 1,291
orleans-gateway-sent (Count / 1 sec) 2,582
orleans-messaging-processing-activation-data 0
orleans-messaging-processing-dispatcher-forwarded (Count / 1 0
orleans-messaging-processing-dispatcher-processed (Count / 1 2,543
Direction=Request,Status=Ok 2,582
orleans-messaging-processing-dispatcher-received (Count / 1 1,271
Context=Grain,Direction=Request 1,291
Context=None,Direction=Request 1,291
orleans-messaging-processing-ima-enqueued (Count / 1 sec) 5,113
有关详细信息,请参阅调查性能计数器 (dotnet-counters)。
Orleans 米
Orleans 使用 System.Diagnostics.Metrics API 收集指标。 Orleans 将每个计量分类为以域为中心的问题,例如网络、消息传送、网关等。以下小节描述了计量 Orleans 的使用。
网络
下表显示了用于监视 Orleans 网络层的网络计量的集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-networking-sockets-closed |
Counter<T> | 已关闭的套接字计数。 |
orleans-networking-sockets-opened |
Counter<T> | 已打开的套接字计数。 |
消息传送
下表显示了用于监视 Orleans 消息层的消息计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-messaging-sent-messages-size |
Histogram<T> | 一个直方图,表示已发送的消息的大小(以字节为单位)。 |
orleans-messaging-received-messages-size |
Histogram<T> | 一个直方图,表示已接收的消息的大小(以字节为单位)。 |
orleans-messaging-sent-header-size |
ObservableCounter<T> | 一个可观察计数器,表示发送的标头字节数。 |
orleans-messaging-received-header-size |
ObservableCounter<T> | 一个可观察计数器,表示收到的标头字节数。 |
orleans-messaging-sent-failed |
Counter<T> | 发送失败的消息计数 |
orleans-messaging-sent-dropped |
Counter<T> | 已删除的消息计数。 |
orleans-messaging-processing-dispatcher-received |
ObservableCounter<T> | 一个可观察计数器,表示调度程序接收的消息数。 |
orleans-messaging-processing-dispatcher-processed |
ObservableCounter<T> | 一个可观察计数器,表示调度程序处理的消息数。 |
orleans-messaging-processing-dispatcher-forwarded |
ObservableCounter<T> | 一个可观察的计数器,用于表示调度程序转发的消息数量。 |
orleans-messaging-processing-ima-received |
ObservableCounter<T> | 一个可观察计数器,表示收到的传入消息数。 |
orleans-messaging-processing-ima-enqueued |
ObservableCounter<T> | 一个可以监控的计数器,表示排队的传入消息数。 |
orleans-messaging-processing-activation-data |
ObservableGauge<T> | 可观测的仪表,表示所有处理激活数据。 |
orleans-messaging-pings-sent |
Counter<T> | 发送的 ping 计数。 |
orleans-messaging-pings-received |
Counter<T> | 收到的 ping 计数。 |
orleans-messaging-pings-reply-received |
Counter<T> | 收到的 ping 答复计数。 |
orleans-messaging-pings-reply-missed |
Counter<T> | 未收到的 ping 回复计数。 |
orleans-messaging-expired" |
Counter<T> | 已过期消息的数量。 |
orleans-messaging-rejected |
Counter<T> | 被拒绝消息的计数 |
orleans-messaging-rerouted |
Counter<T> | 重新路由消息的数量。 |
orleans-messaging-sent-local |
ObservableCounter<T> | 一个可观察计数器,表示发送的本地消息数。 |
网关
下表显示了用于监视网关层的 Orleans 网关计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-gateway-connected-clients |
UpDownCounter<T> | 一个向上/向下计数器,表示连接的客户端数。 |
orleans-gateway-sent |
Counter<T> | 发送的网关消息计数。 |
orleans-gateway-received |
Counter<T> | 接收到的网关消息数量。 |
orleans-gateway-load-shedding |
Counter<T> | 由于网关过载而被拒绝的网关负载卸载消息计数。 |
运行时
下表显示了用于监视运行时层的 Orleans 运行时计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-scheduler-long-running-turns |
Counter<T> | 调度器中长期运行调度的计数。 |
orleans-runtime-total-physical-memory |
ObservableCounter<T> | 一个可观测计数器,表示运行时的总内存(以 MB 为单位)。Orleans |
orleans-runtime-available-memory |
ObservableCounter<T> | 表示 Orleans 运行时可用内存(以 MB 为单位)的可监控计数器。 |
目录
下表显示了用于监视 Orleans 目录层的目录计量的集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-catalog-activations |
ObservableGauge<T> | 表示目录激活数的可观察仪表。 |
orleans-catalog-activation-working-set |
ObservableGauge<T> | 一个用于表示工作集中的激活次数的可观察仪表。 |
orleans-catalog-activation-created |
Counter<T> | 已创建的激活计数。 |
orleans-catalog-activation-destroyed |
Counter<T> | 销毁的激活计数。 |
orleans-catalog-activation-failed-to-activate |
Counter<T> | 激活失败次数统计。 |
orleans-catalog-activation-collections |
Counter<T> | 空闲激活集合计数。 |
orleans-catalog-activation-shutdown |
Counter<T> | 关闭激活次数。 |
orleans-catalog-activation-non-existent |
Counter<T> | 不存在的激活计数。 |
orleans-catalog-activation-concurrent-registration-attempts |
Counter<T> | 并发激活注册尝试的总计数。 |
目录
下表显示了用于监视 Orleans 目录层的目录计量的集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-directory-lookups-local-issued |
Counter<T> | 执行的本地查找请求数量。 |
orleans-directory-lookups-local-successes |
Counter<T> | 本地成功查找的次数统计。 |
orleans-directory-lookups-full-issued |
Counter<T> | 执行的全目录查询计数。 |
orleans-directory-lookups-remote-sent |
Counter<T> | 已发送的远程目录查询次数计数。 |
orleans-directory-lookups-remote-received |
Counter<T> | 收到的远程目录查找数量计数。 |
orleans-directory-lookups-local-directory-issued |
Counter<T> | 已进行的本地目录查找次数。 |
orleans-directory-lookups-local-directory-successes |
Counter<T> | 本地目录成功查询的计数。 |
orleans-directory-lookups-cache-issued |
Counter<T> | 已发出的缓存查找计数。 |
orleans-directory-lookups-cache-successes |
Counter<T> | 缓存中成功查找的次数计数。 |
orleans-directory-validations-cache-sent |
Counter<T> | 发送的目录缓存验证计数。 |
orleans-directory-validations-cache-received |
Counter<T> | 收到的目录缓存验证计数。 |
orleans-directory-partition-size |
ObservableGauge<T> | 表示目录分区大小的可观察仪表。 |
orleans-directory-cache-size |
ObservableGauge<T> | 表示目录缓存大小的可观察仪表。 |
orleans-directory-ring-size |
ObservableGauge<T> | 一个可用于监测目录环大小的仪表。 |
orleans-directory-ring-local-portion-distance |
ObservableGauge<T> | 一个可观测仪表,表示本地目录分区拥有的环范围。 |
orleans-directory-ring-local-portion-percentage |
ObservableGauge<T> | 一个可观测的仪表,用于显示本地目录所拥有的环范围,以总范围的百分比表示。 |
orleans-directory-ring-local-portion-average-percentage |
ObservableGauge<T> | 一个可观测仪表,表示每个孤岛拥有的目录环范围的平均百分比,从而表示平衡目录所有权的方式。 |
orleans-directory-registrations-single-act-issued |
Counter<T> | 已颁发的目录单一激活注册数量。 |
orleans-directory-registrations-single-act-local |
Counter<T> | 由本地目录分区处理的单次激活注册计数。 |
orleans-directory-registrations-single-act-remote-sent |
Counter<T> | 发送到远程目录分区的目录单一激活注册计数。 |
orleans-directory-registrations-single-act-remote-received |
Counter<T> | 从远程主机收到的目录单次激活注册计数。 |
orleans-directory-unregistrations-issued |
Counter<T> | 目录取消注册的数量。 |
orleans-directory-unregistrations-local |
Counter<T> | 由本地目录分区处理的目录注销计数。 |
orleans-directory-unregistrations-remote-sent |
Counter<T> | 发送到远程目录分区的取消注册目录的计数。 |
orleans-directory-unregistrations-remote-received |
Counter<T> | 从远程主机接收的目录注销计数。 |
orleans-directory-unregistrations-many-issued |
Counter<T> | 目录多重激活注销数量。 |
orleans-directory-unregistrations-many-remote-sent |
Counter<T> | 发送到远程目录分区的目录多次激活注销计数。 |
orleans-directory-unregistrations-many-remote-received |
Counter<T> | 从远程主机接收的目录多次激活注销的计数。 |
一致的环
下表显示了一组用于监控环状层的一致环形仪表。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-consistent-ring-size |
ObservableGauge<T> | 一个可观测的量表,表示恒定的环尺寸。 |
orleans-consistent-ring-range-percentage-local |
ObservableGauge<T> | 一个可观测的指标,表示稳定的环形区域的百分比。 |
orleans-consistent-ring-range-percentage-average |
ObservableGauge<T> | 一个可观测的仪表,表示环形平均百分比的一致性。 |
看门狗
下表显示了一组用于监测 Orleans 监视层的检测仪表。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-watchdog-health-checks |
Counter<T> | 看门狗健康检查计数。 |
orleans-watchdog-health-checks-failed |
Counter<T> | 监视程序状况检查失败的计数。 |
客户
下表显示了用于监视客户端层的 Orleans 客户端计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-client-connected-gateways |
ObservableGauge<T> | 表示连接的网关客户端数的可观察仪表。 |
其他
下表显示了用于监视各种层的杂项计量的集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-grains |
Counter<T> | 表示谷粒数量的计数。 |
orleans-system-targets |
Counter<T> | 表示系统目标数量的计数值。 |
应用请求
下表显示了用于监视 Orleans 应用请求层的应用请求计量的集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-app-requests-latency |
ObservableCounter<T> | 表示应用请求延迟的可观察计数器。 |
orleans-app-requests-timedout |
ObservableCounter<T> | 一个可观察计数器,表示已超时的应用请求。 |
提醒事项
下表显示了用于监视提醒层的 Orleans 提醒计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-reminders-tardiness |
Histogram<T> | 一个直方图,表示提醒延迟的秒数。 |
orleans-reminders-active |
ObservableGauge<T> | 用于表示活动提醒数量的可观测仪表。 |
orleans-reminders-ticks-delivered |
Counter<T> | 一个计数,表示已发送的提醒提示次数。 |
储存
下表显示了用于监视 Orleans 存储层的存储计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-storage-read-errors |
Counter<T> | 表示存储读取错误的计数。 |
orleans-storage-write-errors |
Counter<T> | 一个表示存储写入错误数量的计数。 |
orleans-storage-clear-errors |
Counter<T> | 表示存储清除错误数量的计数。 |
orleans-storage-read-latency |
Histogram<T> | 一个直方图,表示存储读取延迟(以毫秒为单位)。 |
orleans-storage-write-latency |
Histogram<T> | 一个直方图,表示存储写入延迟(以毫秒为单位)。 |
orleans-storage-clear-latency |
Histogram<T> | 一个直方图,表示存储清除延迟(以毫秒为单位)。 |
溪流
下表显示了用于监视 Orleans 流层的流计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-streams-pubsub-producers-added |
Counter<T> | 添加了流式发布订阅制作者的计数。 |
orleans-streams-pubsub-producers-removed |
Counter<T> | 删除了流式发布订阅制作者的计数。 |
orleans-streams-pubsub-producers |
Counter<T> | 流式发布订阅制作者的计数。 |
orleans-streams-pubsub-consumers-added |
Counter<T> | 添加了流式处理发布订阅使用者的计数。 |
orleans-streams-pubsub-consumers-removed |
Counter<T> | 删除了流式发布订阅使用者的计数。 |
orleans-streams-pubsub-consumers |
Counter<T> | 流媒体发布订阅系统中的订阅者计数。 |
orleans-streams-persistent-stream-pulling-agents |
ObservableGauge<T> | 一个可观察的仪表,表示持久流拉取代理的数量。 |
orleans-streams-persistent-stream-messages-read |
Counter<T> | 读取的持久流消息计数。 |
orleans-streams-persistent-stream-messages-sent |
Counter<T> | 发送的持久流消息计数。 |
orleans-streams-persistent-stream-pubsub-cache-size |
ObservableGauge<T> | 一个可观察的仪表,表示持久性流 pubsub 缓存大小。 |
orleans-streams-queue-initialization-failures |
Counter<T> | 蒸汽队列初始化失败计数。 |
orleans-streams-queue-initialization-duration |
Counter<T> | 蒸汽队列初始化次数的计数。 |
orleans-streams-queue-initialization-exceptions |
Counter<T> | 蒸汽队列初始化异常计数。 |
orleans-streams-queue-read-failures |
Counter<T> | 蒸汽系统队列读取失败次数。 |
orleans-streams-queue-read-duration |
Counter<T> | Steam 队列读取次数记录。 |
orleans-streams-queue-read-exceptions |
Counter<T> | Steam 队列读取异常计数。 |
orleans-streams-queue-shutdown-failures |
Counter<T> | 蒸汽队列的关闭失败次数统计。 |
orleans-streams-queue-shutdown-duration |
Counter<T> | 关于蒸汽队列关闭次数的统计。 |
orleans-streams-queue-shutdown-exceptions |
Counter<T> | Steam队列关闭异常计数。 |
orleans-streams-queue-messages-received |
ObservableCounter<T> | 一个可观察计数器,表示收到的流队列消息数。 |
orleans-streams-queue-oldest-message-enqueue-age |
ObservableGauge<T> | 一个可观测仪表,表示最早排队消息的年龄。 |
orleans-streams-queue-newest-message-enqueue-age |
ObservableGauge<T> | 一个可观测的指示器,表示最新入队消息的时间。 |
orleans-streams-block-pool-total-memory |
ObservableCounter<T> | 一个可观察计数器,表示流块池的总内存(以字节为单位)。 |
orleans-streams-block-pool-available-memory |
ObservableCounter<T> | 一个可观察计数器,表示流块池可用内存(以字节为单位)。 |
orleans-streams-block-pool-claimed-memory |
ObservableCounter<T> | 一个可观察计数器,表示流块池声明的内存(以字节为单位)。 |
orleans-streams-block-pool-released-memory |
ObservableCounter<T> | 一个可观察计数器,表示流块池释放的内存(以字节为单位)。 |
orleans-streams-block-pool-allocated-memory |
ObservableCounter<T> | 一个可观察计数器,表示流块池分配的内存(以字节为单位)。 |
orleans-streams-queue-cache-size |
ObservableCounter<T> | 一个可观察计数器,表示流队列缓存大小(以字节为单位)。 |
orleans-streams-queue-cache-length |
ObservableCounter<T> | 表示流队列长度的可观察计数器。 |
orleans-streams-queue-cache-messages-added |
ObservableCounter<T> | 一个可观察的计数器,用于表示已添加到流队列中的消息数量。 |
orleans-streams-queue-cache-messages-purged |
ObservableCounter<T> | 一个可观察计数器,表示清除的流队列消息。 |
orleans-streams-queue-cache-memory-allocated |
ObservableCounter<T> | 一个可观察计数器,表示分配的流队列内存。 |
orleans-streams-queue-cache-memory-released |
ObservableCounter<T> | 表示释放的流队列内存的可观察计数器。 |
orleans-streams-queue-cache-oldest-to-newest-duration |
ObservableGauge<T> | 一个可观测仪表,表示从最早到最新的流队列缓存的持续时间。 |
orleans-streams-queue-cache-oldest-age |
ObservableGauge<T> | 一个可观测仪表,表示最早缓存消息的年龄。 |
orleans-streams-queue-cache-pressure |
ObservableGauge<T> | 表示流队列缓存压力的可观察量表。 |
orleans-streams-queue-cache-under-pressure |
ObservableGauge<T> | 一个可观察的仪表,表示流队列缓存是否处于压力之下。 |
orleans-streams-queue-cache-pressure-contribution-count |
ObservableCounter<T> | 表示流队列缓存压力贡献的可观察计数器。 |
交易
下表显示了用于监视 Orleans 事务层的事务计量集合。
计量器名称 | 类型 | DESCRIPTION |
---|---|---|
orleans-transactions-started |
ObservableCounter<T> | 表示已启动事务数的可观察计数器。 |
orleans-transactions-successful |
ObservableCounter<T> | 表示成功事务数的可观察计数器。 |
orleans-transactions-failed |
ObservableCounter<T> | 一个可用于显示失败事务数量的计数器。 |
orleans-transactions-throttled |
ObservableCounter<T> | 表示受限制事务数的可观察计数器。 |
普罗 米修斯
可以将各种第三方指标提供程序用于Orleans。 一个常用示例是 Prometheus,可用于使用 OpenTelemetry 从应用中收集指标。
若要将 OpenTelemetry 和 Prometheus 与 Orleans 一起使用,请调用以下 IServiceCollection
扩展方法:
builder.Services.AddOpenTelemetry()
.WithMetrics(metrics =>
{
metrics
.AddPrometheusExporter()
.AddMeter("Microsoft.Orleans");
});
重要
OpenTelemetry.Exporter.Prometheus 和 OpenTelemetry.Exporter.Prometheus.AspNetCore NuGet 包目前都作为发布候选项处于预览状态。 不建议将其用于生产用途。
该AddPrometheusExporter
方法可确保将PrometheusExporter
添加到builder
中。
Orleans使用一个Meter,它名叫"Microsoft.Orleans"
,来为多个Orleans特定指标创建Counter<T>实例。 使用AddMeter
方法指定要订阅的计量的名称,在本例中使用 "Microsoft.Orleans"
。
配置导出程序并生成应用后,在 IEndpointRouteBuilder
上调用 MapPrometheusScrapingEndpoint
(app
实例),以将指标暴露给 Prometheus。 例如:
WebApplication app = builder.Build();
app.MapPrometheusScrapingEndpoint();
app.Run();
分布式跟踪
分布式跟踪是一组用于监视和故障排除分布式应用程序的工具和做法。 它是可观测性的关键组成部分,是了解应用行为的关键工具。 Orleans 支持使用 OpenTelemetry 进行分布式跟踪。
无论选择了哪个分布式跟踪导出程序,请调用:
- AddActivityPropagation(ISiloBuilder):启用该孤立环境的分布式追踪。
- AddActivityPropagation(IClientBuilder):为客户端启用分布式跟踪。
引用回 Orleans GPS 跟踪器示例应用,可以使用 Zipkin 分布式跟踪系统通过更新 Program.cs来监视应用。 要将 OpenTelemetry 和 Zipkin 与 Orleans 一起使用,请调用以下 IServiceCollection
扩展方法:
builder.Services.AddOpenTelemetry()
.WithTracing(tracing =>
{
// Set a service name
tracing.SetResourceBuilder(
ResourceBuilder.CreateDefault()
.AddService(serviceName: "GPSTracker", serviceVersion: "1.0"));
tracing.AddSource("Microsoft.Orleans.Runtime");
tracing.AddSource("Microsoft.Orleans.Application");
tracing.AddZipkinExporter(zipkin =>
{
zipkin.Endpoint = new Uri("http://localhost:9411/api/v2/spans");
});
});
重要
OpenTelemetry.Exporter.Zipkin NuGet 包目前以候选版本的形式处于预览状态。 不建议将其用于生产用途。
Zipkin 跟踪显示在 Jaeger UI 中(Jaeger 是一个使用相同数据格式的 Zipkin 替代方案):
有关详细信息,请参阅 分布式跟踪。
Orleans 通过 ITelemetryConsumer 接口输出其运行时统计信息和指标。 应用程序可以为其接收器和客户端注册一个或多个遥测使用者,以接收运行时定期发布的统计信息和指标 Orleans 。 这些可以是常用遥测分析解决方案的使用者,也可以是用于任何其他目标和用途的自定义解决方案。 目前,代码库中包含 Orleans 三个遥测使用者。
它们作为单独的 NuGet 包发布:
Microsoft.Orleans.OrleansTelemetryConsumers.AI
:用于发布到 Azure Application Insights。Microsoft.Orleans.OrleansTelemetryConsumers.Counters
:用于发布到 Windows 性能计数器。 运行时 Orleans 会不断更新其中的许多。 NuGet 包中包含的Microsoft.Orleans.CounterControl
CounterControl.exe 工具有助于注册必要的性能计数器类别。 它必须使用提升的权限运行。 使用任何标准监视工具监视性能计数器。Microsoft.Orleans.OrleansTelemetryConsumers.NewRelic
:发布到 New Relic。
若要将孤岛和客户端配置为使用遥测使用者,孤岛的配置代码如下所示:
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
});
客户端配置代码如下所示:
var clientBuilder = new ClientBuilder();
clientBuilder.AddApplicationInsightsTelemetryConsumer("INSTRUMENTATION_KEY");
若要使用自定义的TelemetryConfiguration(例如包含TelemetryProcessors、TelemetrySinks等),silo 配置代码如下所示:
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
var siloHostBuilder = new HostBuilder()
.UseOrleans(c =>
{
c.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);
});
客户端配置代码如下所示:
var clientBuilder = new ClientBuilder();
var telemetryConfiguration = TelemetryConfiguration.CreateDefault();
clientBuilder.AddApplicationInsightsTelemetryConsumer(telemetryConfiguration);