从侦探/勇敢者到追踪者排除特定的控制器

时间:2019-10-14 18:24:41

标签: spring-boot spring-cloud-sleuth zipkin

我们在Spring Boot应用程序中使用了勇敢的api。我们能够追踪所有控制器和服务。但是问题是我们在某些控制器中获得了跟踪,而这些跟踪我们不想像健康检查控制器那样进行跟踪。有什么方法可以在控制器中指定它,因为默认情况下它正在跟踪所有控制器。
我尝试使用

spring:
  application:
    name: abc
  sleuth:
    enabled: "true"
    reporter:
      enabled: "true"
    sampler:
      probability: "1.0"
    instrument:
      web:
        skipPattern: (^status* | ^Status* | *status*)

spring:
  application:
    name: abc
  sleuth:
    enabled: "true"
    reporter:
      enabled: "true"
    sampler:
      probability: "1.0"
    web:
        skipPattern: (^status* | ^Status* | *status*)

但是没有用。状态控制器

@RestController
public class StatusController {

  @Autowired
  public StatusController() {

  }

  @RequestMapping(value = "/status", method = RequestMethod.GET)
  public Boolean status() {
    return true;
  }
}

请帮助。
谢谢

1 个答案:

答案 0 :(得分:0)

*status*不是有效的正则表达式。仅尝试/status。您可以检查https://github.com/spring-cloud/spring-cloud-sleuth/blob/v2.1.4.RELEASE/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/web/SleuthWebProperties.java#L34的默认值。另外,使用additionalSkipPattern属性将自定义值附加到现有值上可能更有意义。