我们希望为WebApi应用程序配置AppInsights监控。应用程序可能在0.5-1%的调用中有错误响应。如果我们想在AppInsights中包含所有异常,我们可以选择始终包含异常。
我在App Insights文档中没有看到的是以类似的方式控制慢速调用的能力。如果大约2%的API调用较慢,例如,通常需要2秒处理的API,可能会在5-10秒内对2%的调用做出响应。我们希望能够收集这些慢速呼叫,可能是所有或更高的采样,以便有更多的数据进行故障排除。
对于积极抽样,我们冒着这2%的呼叫永远不会或很少出现在AppInsights中的风险。例如,支持不会使用大多数好的呼叫来解决问题,而会更感兴趣地深入到缓慢的呼叫中。
使用高采样率,我们更有可能捕捉到这些较慢的呼叫,但它增加了成本,为许多正常呼叫维护遥测,而我们对这些呼叫不是很感兴趣。
是否有更细粒度的采样控制可用于满足此需求?
发布于 2019-09-06 14:37:32
是的,还有一个关于这方面的doc,在这一部分中“有一些我总是想看到的罕见事件。我如何才能让它们通过采样模块?”:
实现这一点的最好方法是编写一个自定义TelemetryProcessor,它将您希望保留的遥测项目的SamplingPercentage设置为100,如下所示。这可确保所有采样技术在任何采样注意事项中都会忽略此项目。
创建自定义TelemetryProcessor后,添加代码片段:
if(somecondition, like the time is slower than 2 seconds)
{
((ISupportSampling)item).SamplingPercentage = 100;
}https://stackoverflow.com/questions/57815147
复制相似问题