【问题标题】:Is it possible to not sample particular requests in Application Insights?是否可以不在 Application Insights 中对特定请求进行采样?
【发布时间】:2021-03-26 02:57:56
【问题描述】:

我有一个关于 Azure Application Insights 采样的问题。

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

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

这有可能实现吗?如果是,您能否分享代码/文档?

【问题讨论】:

    标签: azure azure-application-insights azure-monitor


    【解决方案1】:

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

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

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

    【讨论】:

    • 看起来正确,将尝试更新。
    猜你喜欢
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-28
    相关资源
    最近更新 更多