azure - Application Insight 如何自动捕获传入的 HttpRequest?
问题描述
我对使用应用程序洞察力进行检测并不陌生。我只是创建简单的 asp.net 核心 web api 项目并设置应用程序洞察力以进行检测。当控制器被调用方法(GET)时,我注意到它会自动捕获应用程序洞察力,而无需任何代码。它是怎么发生的?
解决方案
如果您的问题是关于“Application Insights 如何捕获有关应用程序传入请求的信息”,那么它基于 DiagnosticSource 事件。Asp.Net Core 托管环境发布DiagnosticSource
Application Insights 订阅并从中创建RequestTelemetry
的事件。下面显示了正在侦听的事件的确切名称:
https ://github.com/Microsoft/ApplicationInsights-aspnetcore/blob/develop/src/Microsoft.ApplicationInsights.AspNetCore/DiagnosticListeners/Implementation/HostingDiagnosticListener.cs#L68
注意:在 SDK 的旧版本中,请求监控是通过“RequestTrackingMiddleWare”完成的,现在已过时。
附加信息 - 监听事件的类似方法DiagnosticSource
也用于监视依赖项(http、sql)。
推荐阅读
- java - ARCore:来自 CameraX API 的 ImageAnalysis.setAnalyzer 无法与 ARFragment 一起使用
- android - 添加暗模式按钮
- vaadin - 在 Vaadin 14 中更改选项卡会导致拆分器窗口恢复到默认拆分位置
- c++ - C++ 切换空默认情况
- gstreamer - 使用 gstreamer 进行视频和音频混合/淡入淡出
- python - 如何使用 Scapy (pcapwriter) 在 FIFO 中写入 Pcap 数据包
- html - 无法使用 CSS 隐藏内容并再次正确显示,不同的类会干扰
- javascript - 有没有办法在 Electron 中为子窗口设置属性?
- elasticsearch - Elasticsearch 不缓存带有四舍五入日期的查询
- python - 在 python 中使用 matplotlib 绘制多个分组条形图