我正在将Azure Application Insights用于网站(Azure App Service).
在那我正在使用集群Umbraco设置和hangfire.这两个人每分钟都在不断地访问数据库,并且充斥着我的“App Insights”.
在那我正在使用集群Umbraco设置和hangfire.这两个人每分钟都在不断地访问数据库,并且充斥着我的“App Insights”.
所以我的问题是,如何禁用sql Dependency Tracker?
我看过ApplicationInsights.config并找不到任何明显的东西.
我可以看到Microsoft.ApplicationInsights.DependencyCollector这可能是负责任的,但我不想删除所有类型的依赖遥测,只有sql.
谢谢
解决方法
这里最好的选择是使用遥测处理器来过滤掉某些类型的依赖请求.请查看以下这些资源以获取信息.
Sampling,filtering and preprocessing telemetry in the Application Insights SDK
Request filtering in Application Insights with Telemetry Processor
示例处理器可能如下所示.
using Microsoft.ApplicationInsights.Channel; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.DataContracts; public class NosqlDependencies : ITelemetryProcessor { private ITelemetryProcessor Next { get; set; } // Link processors to each other in a chain. public NosqlDependencies(ITelemetryProcessor next) { this.Next = next; } public void Process(ITelemetry item) { if (IssqlDependency(item)) { return; } this.Next.Process(item); } private bool IssqlDependency(ITelemetry item) { var dependency = item as DependencyTelemetry; if (dependency?.DependencyTypeName == "sql") { return true; } return false; } }