我设法将机器人的遥测与Azure Application Insights连接起来。我现在正在尝试使其能够使Application Insights显示来自bot的某些值(例如:用户的输入)。我认为这与自定义事件有关,但是在查看文档后,我仍然很困惑,不知道如何设置它以记录值。
答案 0 :(得分:0)
bot框架本身可以将遥测写入Application Insights实例。我相信这是您到目前为止已配置并可以正常工作的内容。要编写自定义事件/指标,您只想自己like you would in any other .NET Core application自己使用AI TelemetryClient
。
注册后,您将更改IBot
类,以将TelemetryClient
作为其构造函数的依赖项,然后将其注入您的构造函数中,然后像平常一样开始记录事件/指标。
我一直想问的真正问题是:您真的想将自己直接与Application Insights API紧密耦合吗?您是否只想拥有通过日志记录抽象进行的特定级别的日志记录(例如ILogger[<T>]
)?或者,如果您需要事件,则可能要改用EventSource
。然后,可以通过配置the appropriate telemetry modules来由Application Insights捕获这两个抽象,但是它们不会将您的代码直接与Application Insights本身联系在一起。我相信唯一没有好的现有抽象的东西就是您需要收集指标。当然,您仍然可以为此构建自己的抽象,然后使用一个自定义模块将细节集中到AI中。