MS 应用程序见解 - 如何限制 SQL 依赖项



有没有办法告诉应用程序见解只捕获与SQL依赖关系相关的数据的百分比?比如,10%?如果没有,有没有办法一起禁用它?

根据我在下面的评论,这个答案应该在尝试实现自定义遥测处理器时有所帮助。

应用见解:禁用 SQL 依赖项遥测

你可以用不同的方式"节流"(或采样,正如Microsoft所说的那样)。一种方法是使用内置配置选项限制所有内容,但如果只想限制特定的依赖项,则需要实现自己的 ITelemetryChannel。
有关如何完成此操作的指南可以在此处找到:http://apmtips.com/blog/2015/05/06/diy-data-sampling/

然后,在 Send(ITelemetry 项)方法中,您可以检查传入项是否是依赖项并与 SQL 相关,它将如下所示:

if (item is DependencyTelemetry)
{  
    var dependency = item as DependencyTelemetry;  
    if (dependency.DependencyTypeName == "SQL")  
    {  
        //implement throttling from the guide  
    }  
}  

如链接所示,需要创建 ServerTelemetryChannel 的实例并对此调用 Send() 方法 - 需要对要实际发送到应用程序见解的任何遥测项执行此操作。
这意味着还可以使用此实现完全筛选出任何 SQL 依赖项遥测数据,如下所示:

public void Send(ITelemetry item)
{
    if (item is DependencyTelemetry)
    {
        var dependency = item as DependencyTelemetry;  
        if (dependency.DependencyTypeName == "SQL")  
        {  
            return;
        }  
    }        
    this.channel.Send(item);
}

最新更新