azure - 是否可以不在 Application Insights 中对特定请求进行采样?

标签 azure azure-application-insights azure-monitor

我对 Azure Application Insights 采样有疑问。

我确实需要 10% 的采样率,我知道我可以使用 applicationinsights.json 在 Application Insights 上轻松实现这一点。但我也有一个用例,我不想根据参数对某些请求进行采样(过滤掉)。例如假设我遇到了手动测试请求,那么我不希望它通过采样进行过滤。另一个用例,假设对于特定用户,我不希望请求被过滤。

但是此配置不是静态的,这意味着我无法在启动期间在 applicationinsights.json 中修复此问题。我需要根据请求级别来决定。我需要检查一些请求参数,并根据它们来决定是否对该请求进行采样。

这个可以实现吗?如果是的话,您能分享一下代码/文档吗?

最佳答案

我相信这是通过提供自定义 TelemetryInitializer 来完成的。

请参阅问题“我一直想看到某些罕见事件。如何让它们通过采样模块?”在采样文档中:https://learn.microsoft.com/en-us/azure/azure-monitor/app/sampling

public class MyTelemetryInitializer : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {
        if (somecondition)
        {
            ((ISupportSampling)telemetry).SamplingPercentage = 100;
        }
    }
}

关于azure - 是否可以不在 Application Insights 中对特定请求进行采样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65306484/

相关文章:

c# - DocumentDB 在提取大量记录时比 SQL 慢吗?

c# - 我在 Application Insights 中看不到我的轨迹跟踪消息

c# - 将自定义属性添加到默认请求遥测

Azure Monitor 工作簿模板

json - 通过 powershell 将消息发布到 MS Teams

Azure ARM - 更新管理 - VM 载入

Android 使用 Azure 移动服务删除 Null 异常

c# - 在 Application Insights 中查看 POST 请求正文

azure - 未写入日志的 Application Insights 警报