我有一个带有几个控制器的Spring Boot应用程序,我想跟踪它们的依赖关系(包括出站Http请求)。一切都按预期进行。但是,我有一个不需要进行遥测的健康检查控制器(返回204)。所有其他响应都提到了自定义代码组件,但是根据the documentation,这应该在AI-Agent.xml配置中是可行的。
<BuiltInProcessors>
<Processor type="RequestTelemetryFilter">
<Add name="NotNeededResponseCodes" value="204" />
</Processor>
</BuiltInProcessors>
我在类路径上注意到有两个RequestTelemtryFilter实例(一个来自ai-core,一个来自ai-web,在我调试时都没有命中)。
答案 0 :(得分:0)
配置代理(通过AI-Agent.xml)与配置自定义遥测(通过Applicationinsights.xml)不同。 Spring boot +该代理需要使用自定义遥测处理器,并通过@Bean进入您的配置。 AI-Agent中不需要其他XML。
public class HealthCheckTelemetryFilter implements TelemetryProcessor
{
public HealthCheckTelemetryFilter()
{
// TODO Auto-generated constructor stub
}
@Override
public boolean process(Telemetry telemetry)
{
RequestTelemetry reqTel = (RequestTelemetry) telemetry;
if(reqTel.getResponseCode().equals(HttpStatus.NO_CONTENT.toString()))
return false;
else
return true;
}
}
注意:不要忘记进行适当的类型检查