我设法将我的bot的遥测与Azure Application Insights连接起来。我现在正试图让它成为应用程序见解可以显示来自机器人的某些值(例如:用户的输入)。我认为这与自定义事件有关,但在查看文档之后,我仍然感到很困惑,并且不知道如何设置它来记录值。
bot框架本身有一种方法可以将遥测编写到Application Insights实例。我相信这是你已经配置并且到目前为止工作的。对于编写自定义事件/指标,您可能只想使用AI TelemetryClient
自己like you would in any other .NET Core application。
一旦注册,你将改变你的IBot
类,将TelemetryClient
作为它的构造函数的依赖项,然后为你注入,然后你就像通常那样开始记录事件/指标。
我一直想问的真正问题是:您是否真的希望将自己与Application Insights API直接结合在一起?您是否只想通过日志记录抽象(例如ILogger[<T>]
)进行某种级别的日志记录?或者,如果您需要事件,也许您想要使用EventSource
。然后,Application Insights可以通过配置the appropriate telemetry modules捕获这两个抽象,但它们不会将您的代码直接绑定到Application Insights本身。我相信,如果你需要收集指标,唯一没有良好的现有抽象的东西就是。您当然可以为此构建自己的抽象,然后是一个自定义模块,将细节汇集到AI中。